千家信息网

zabbix监控及邮件报警

发表于:2025-02-14 作者:千家信息网编辑
千家信息网最后更新 2025年02月14日,一.zabbix 客户端的安装既然要监控我们就要添加要监控的主机,在添加主机之前我们首先要在被检测主机上面安装agent,安装 agent 比较简单,我们也是按照安装 server 的流程,下载软件包
千家信息网最后更新 2025年02月14日zabbix监控及邮件报警

一.zabbix 客户端的安装
既然要监控我们就要添加要监控的主机,在添加主机之前我们首先要在被检测主机上面安装
agent,安装 agent 比较简单,我们也是按照安装 server 的流程,下载软件包,在编译的时
候,我们只选择 agent
192.168.1.20 作为 zabbix 的被监控端,提供 web 和 mysql 应用
1.安装 Zabbix,配置 Zabbix agent:

  21  rz   (上传zabbix-3.2.1.tar.gz)   22  ls   23  tar zxf zabbix-3.2.1.tar.gz   (解压)   24  cd zabbix-3.2.1/   25   ./configure --prefix=/usr/local/zabbix --enable-agent && make && make install         (编译安装) 2.优化一下zabbix 23  cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/  (拷贝启动文件)   24  vim /etc/init.d/zabbix_agentd       (修改启动文件)BASEDIR=/usr/local/Zabbix  #22 PIDFILE=/usr/local/zabbix/logs/$BINARY_NAME.pid  #31   25  cd /usr/local/zabbix/etc/   26  vim zabbix_agentd.conf             (修改zabbix配置文件)   28  grep -v "^#" /usr/local/zabbix/etc/zabbix_agentd.conf | grep -v "^$" PidFile=/usr/local/zabbix/logs/zabbix_agentd.pid  #11LogFile=/usr/local/zabbix/logs/zabbix_agentd.log #30Server=192.168.1.10  #91 服务端IPListenPort=10050 #99去注释ListenIP=0.0.0.0 #去注释ServerActive=192.168.1.10 #132 服务端IPHostname=192.168.1.30  #IP随便Timeout=3 #去注释Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ #262

   29  mkdir /usr/local/zabbix/logs   (创建所需目录)   30  useradd  zabbix -s /sbin/nologin -M     (创建所需用户)   33  chown  -R  zabbix:zabbix /usr/local/zabbix/  (让用户可执行/usr/local/zabbix)   34  ll /usr/local/zabbix/    (查看一下/usr/local/zabbix的属组和属主)


3.开机自启

36  chkconfig --add zabbix_agentd    (添加启动)   37   chkconfig zabbix_agentd on         (开启自启)   38   /etc/init.d/zabbix_agentd start     (开启zabbix)   40  netstat  -anpt | grep 10050          (查看端口)


到此, zabbix3.2.1 监控系统的基本环境安装完成。
4.实现 zabbix 添加监测项
添加对 Linux 主机的监控
在浏览器中打开: http://192.168.31.225/zabbix
登录 zabbix,先在"配置"-"主机"里添加主机监控,监控 os 资源:内存, cpu, io,负载,带宽等.登录 zabbix,先在"配置"-"主机"里单击"创建主机"


注意:下图中的"主机名称"要和 zabbix_agentd.conf 文件中设置的"Hostname"后面的名称一
致!
主机名称: 192.168.1.30
群组: Linux servers
agent 代理程序接口
ip: 192.168.1.10
已启用: 勾选
其它选项默认即可
切换到模板

选择
选择: Template OS Linux
点添加


添加

至此, Zabbix 监控 Linux 主机设置完成。

配置过一段时间后,观察下监控图效果出来了没


zabbix3.0 server 已自带 mysql 的模板了,只需配置好 agent 客户端,然后在 web 端给主机增加模板就行了。

二.Zabbix_agent 客户端操作
使用脚本安装MySQL

   43  rz  上传mysql安装包和脚本   44  sh mysql.sh    45  history    46  netstat  -anpt | grep 3306  查看IP


Mysql.sh脚本内容

#!/bin/bashtar -zxf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz#将二进制包移动到/usr/local/mysqlmv mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql#创建data目录mkdir /usr/local/mysql/data#创建用户和组并赋予文件夹权限groupadd -r mysqluseradd -r -g mysql -M -s /bin/false mysqlchown -R mysql:mysql /usr/local/mysql#删除centos7中自带的mariadb-libsrpm -e mariadb-libs --nodeps#设置my.cnf配置文件cat> /etc/my.cnf <

(1)在 zabbix_agent 服务目录下创建.my.cnf 连接文件
zabbix 安装目录是/usr/local/zabbix

   56  cd /usr/local/zabbix/etc/   57  vim .my.cnf[client]host=192.168.1.20   #自己客户端IPsocket= /usr/local/mysql/mysql.sockuser=testpassword=123.com

(2)配置 MySQL 的 key 文件

   48  cd zabbix-3.2.1/conf/zabbix_agentd/   49  ls   50  ls /usr/local/zabbix/etc/   51  cp userparameter_mysql.conf  /usr/local/zabbix/etc/zabbix_agentd.conf.d/  (复制配置文件)   52  cd /usr/local/zabbix/etc/zabbix_agentd.conf.d/   53  ls


然后查看 userparameter_mysql.conf 文件,看到类似 HOME=/var/lib/zabbix 的路径设置,把路
径全都替换为 /usr/local/zabbix/etc/,也就是上面的.my.cnf 文件所在的目录路径。
另外,注意 userparameter_mysql.conf 文件里的 mysql 命令路径(提前做好 mysql 的系统环
境变量,以防 mysql 命令不被系统识别)
如下:vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf

60vim/usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
OME=/usr/local/zabbix/etc mysql -N | awk '{print $$2}' #6
HOME=/usr/local/zabbix/etc mysql -N' #15
UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc mysqladmin ping | grep -c alive #17

61 /etc/init.d/zabbix_agentd restart (重启)
服务端验证 zabbix_get -s 192.168.1.20 -p 10050 -k mysql.status[Uptime]

客户端修改

68 vim  /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.confOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysql -N | awk '{print $$2}'  #6HOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysql -N' #15UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysqladmin ping | grep -c alive  #17UserParameter=mysql.version,/usr/local/mysql/bin/mysql -V  #18 55    /etc/init.d/zabbix_agentd restart   (重启)

服务端验证 zabbix_get -s 192.168.1.20 -p 10050 -k mysql.status[Uptime]

(3)mysql查看内容

58 mysql -u root -p123grant all on *.* to test@'192.168.1.%' identified by '123.com';show global status ;show global status where Variable_name='Uptime';

(4)登录 zabbix 监控界面,在"配置"-"模板"里可以看到自带的 mysql 监控模板

在相应主机监控配置里添加 mysql 的监控模版(zabbix 自带的)即可。


【1】 监控 mysql 的带宽:在 zabbix 前端可以实时查看 mysql 发送接收的字节数。其中 bytes
received 表示从所有客户端接收到的字节数, bytes sent 表示发送给所有客户端的字节数。

【2】监控 mysql 的操作状态:在 zabbix 前端可以实时查看各种 SQL 语句每秒钟的操作次数

三.zabbix3.2.1 邮件报警设置:(服务器配置)
Zabbix 监控服务端、客户端都已经部署完成,被监控主机已经添加, Zabiix 监控运行正常。
在 Zabbix 服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送
报警邮件到指定邮箱。
具体操作:
以下操作在 Zabbix 监控服务端进行
下载 sendemail 软件
然后安装那两个依赖包,命令是:

  244  yum install perl-Net-SSLeay perl-IO-Socket-SSL -y  245  rz    (上传sendEmail-v1.56.tar.gz)  246  ls  247  tar zxf sendEmail-v1.56.tar.gz   248  cd sendEmail-v1.56/  249  cp sendEmail /usr/local/bin/sendEmail  (复制命令目录)  250  chown zabbix:zabbix /usr/local/bin/sendEmail (给zabbix执行权限)

1.
(1).登上qq浏览器操作一下




(2).服务端执行:可以看到他报错了
sendEmail -f 123456@qq.com -t 123456@qq.com -s smtp.qq.com -u "hello" -o message-content-type=html -o message-charset=utf8 -xu 123456@qq.com -xp twjlhxzhsykjddcb -m "123"

解决vim /usr/local/bin/sendEmail
if (! IO::Socket::SSL->start_SSL($SERVER)) { #1906修改

继续执行
sendEmail -f 123456@qq.com -t 123456om -s smtp.qq.com -u "hello" -o message-content-type=html -o message-charset=utf8 -xu 123456@qq.com -xp twjlhxzhsykjddcb -m "123"


现在已经发送邮件成功

(3)创建mail.sh邮件脚本

     55  cd     56  vim  mail.sh   (创建邮件脚本)#!/bin/bashto=$1subject=$2body=$3/usr/local/bin/sendEmail -o tls=auto -f 123456@qq.com -t "$to" -s smtp.qq.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu 123546@qq.com  -xp  twjlhxzhsykjddcb   -m "$body"

执行脚本测试发邮件
57 sh mail.sh223456@qq.com test 123 (执行脚本发送邮件)

发送成功
(4)把脚本移动到进入/usr/local/zabbix/share/zabbix/alertscripts/

mv mail.sh /usr/local/zabbix/share/zabbix/alertscripts/
chown +x mail.sh

  1. zabbix web 端配置
    上面的邮件脚本配置好后,就要在 web 端添加报警媒介,在 web 页面的管理,报警媒介类型页面,点击右边的创建媒体类型

    进入创建页面,然后输入名称"邮件报警脚本",类型选择脚本,名称选择 mail.sh,点击添加按钮,添加三个脚本参数,分别是{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESSAGE},分别对于 mail.sh 中的 to、 subject 和 body。添加完成后点下面的添加按钮,我们的报警媒介就创建完成了


    创建好报警媒介后,就需要将报警媒介关联到我们的用户。点击管理,用户,然后选择我们的用户 admin 也可新建一个用户,点击用户名就进入到用户配置界面。点击报警媒介,然后点添加,选择我们上一步创建的邮件报警脚本,输入收件人,选择报警时间和类型,然后点击添加,就将创建好的报警媒介关联到我们的用户上面了。


现在需要做的是,创建一个触发动作,即系统出现故障时,触发这个动作,然后给我们的邮箱发送报警邮件。点击配置,选择动作,然后点击右边的创建动作。
在动作这一页名称中写入我们定义的动作名以及触发条件




配置触发器



报警测试
将 192.168.1.20 服务器的 zabbix_agent 进程关闭。
发现可以正常收到故障报警邮件

/etc/init.d/zabbix_agentd stop

可以看到已经成功发送


qq邮箱收到报错信息

整个实验完毕

监控 配置 报警 主机 邮件 脚本 服务 文件 用户 选择 客户 媒介 动作 名称 目录 客户端 模板 命令 类型 系统 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 阿晔达网络技术公司干嘛的 新乡市磐石网络技术 node开启静态服务器 网络安全区块链方向 重庆数据中心服务器托管 服务器升级扩容原则 临颍软件开发有限公司 如何看首选服务器和备用服务器 dw8测试服务器 软件开发人员配备表 定制行业 科技 互联网 傲神传下载软件开发 python软件开发论文 加强网络安全最基本的措施是 增加samba服务器安全性 限制服务器访问仅内网 宣化区网络安全宣传视频 网络安全与文化自信 武汉网络技术培训学院官网 广州好定网络技术有限公司 数据库中内码是什么意思 3g视频服务器如何远程管理 安卓远程数据库操作系统 国家网络安全教育主题班会 公司服务器可以监控我们的电脑吗 嘉定区推广软件开发创新服务 双11 服务器 实验7 数据库的完整性实验 服务器里面可不可以添加广告拦截 石家庄标准软件开发服务技术规范
0