zabbix重点简单总结
如果对运维课程感兴趣,可以在b站上搜索我的账号: 运维实战课程,可以关注我,学习更多免费的运维实战技术视频
重点1:zabbix_server安装、zabbix_agentd安装、agentd端自定义键值和命令获取数据,或:键值,/…/脚本 函数名 获取数据
1.安装zabbix_server(监控端:192.168.4.5)
1)搭建lamp平台 useradd zabbix -s /sbin/nologin
2)安装snmp协议,收集信息, yum -y install net-snmp-* ……
3)安装gcc gcc-c++,依赖包:mysql-devel、libcurl-devel
4)安装zabbix源码包
5)cp启动脚本 cp … /etc/init.d/zabbix_server cp … /etc/init.d/zabbix_agentd
6)添加开机启动 chkconfig --add zabbix_server chkconfig --add zabbix_agentd chkconf xxx on
7)恢复模板配置: (无密码恢复或者授权用户恢复)
8)cp web页面到站点目录并授权, cp -r … /var/www/html/Zabbix chown -R apache.apache /var/www/html/Zabbix
9)根据报错信息修改php配置文件参数 vim /etc/php.ini
………
10)安装插件功能 rpm -ivh --nodeps php-bcmatch…….rpm rpm -ivh –nodeps php-mbstring….rpm
11)重启httpd服务进行安装zabbix(通过访问站点网页下一步进行安装)
12)填写连接的数据库ip地址、数据库名、数据库端口、数据库用户名、数据库用户密码
13)填写zabbix_server的地址和端口。
14)一直下一步安装完成后,用默认用户名和密码:admin/zabbix登录界面即可。
2.安装zabbix_agentd(被监控端:192.168.4.x)并自定义键值
1)安装gcc gcc-c++ useradd zabbix -s /sbin/nologin
2)安装zabbix源码包,配置只包含zabbix-agentd的即可
3)cp zabbix_agentd启动脚本 cp … /etc/init.d/zabbix_agentd
4)添加开机启动 chkconfig --add zabbix_agentd chkconfig zabbix_agentd on
5)修改配置文件,允许被监控
#vim …/zabbix_agentd.conf
Server=127.0.0.1,192.168.4.5 #zabbix_server的ip地址
ServerActive=192.168.4.5:10051 #自动注册时候使用
Hostname=client205 #自己的主机名,zabbix_server能解析才行
UnsafeUserParameters=1 #启用允许自定义命令
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
……
wq
#vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/mon.user.num
UserParameter=mon.user.num,wc -l /etc/passwd |awk '{print $1}'
xxxxxxxxx
或者: 键名,…/脚本名 脚本中的函数值 #通过调用脚本里的函数名获取相应值,然后赋值给前面的键名
6)启动 Zabbix_agentd
7)测试获得数据 #/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k mon.user.num
重点2:配置监控——自定义模板(根据自定义键值或模板内键值自定义模板)
1.自定义模板创建
模板创建: 组态——模板——创建模板——定义模板名——存档
模板中应用集: 应用集——创建应用集——命名——存档
模板中应用集中的监控项: 项目——创建监控项——监控项名字、类型:zabbix_agentd(代理)、键值、数据类型(一般数字的)、所属应用集——存档。
模板中的图形: 图形——创建图形——图形名——关联上监控项,线条、颜色——存档。
模板中的触发器: 触发器——创建触发器——触发器名,表达式,阀值,严重性级别显示——存档。
2.创建主机并关联上自定义模板
创建主机: 组态——主机——创建主机——主机名称:主机名或IP(若写主机名尽量主机名和ip能解析)、可见名称、所属群组、IP (下面的ip地址很关键)、关联上相应的模板——存档。
3.界面展示
监测中——仪表盘——可看到是否触发器报警状态及颜色
监测中——图形——选择好图形的名字可以看到相关图形展示界面
监测中——最新数据——可看到收集到的数据
注意:
1)设置让同事了解相关报警信息的操作: 点击知悉(ACK)——输入相关提示语——确定。
2)设置触发器报警声音: 右上角的基本资料(profile)点击——在messaging选项框中,把frontend messaging打钩,下面选择相应声音——update即可。
重点3:配置报警——邮件报警配置(邮件示警类型的邮件报警)
1.定义邮件服务器
管理——示警媒介类型——创建媒介类型——定义媒介类型的名称、邮件服务器ip地址,helo处为:邮件服务器的主机名,发件人地址(如:zabbix@changyou.com,@后是邮件服务器的域名,默认是localhost,@前面可自定义,可伪装发件人地址)——存档。
2.创建邮件用户和用户密码(需填写),并关联示警媒介(上面创建的邮件的示警类型名称)
管理——用户——用户群组——创建用户群组——群组名,权限——存档。
管理——用户——创建用户——用户名字、密码、所属群组,关联示警媒介(即收邮件用户),权限——存档(注意:邮件服务器本地必须存在该用户和对应密码)
3.定义动作(发送邮件内容、邮件标题),达到阀值后,发动作报警(包括:动作、条件、操作)
组态——动作——创建动作——动作名字,邮件标题(接收人处填写),报警时邮件内容,恢复时的邮件内容,再定义好条件和操作——存档。
条件: 非维护/触发值达到时才触发(关联好相应的监控项)
操作:每一步干什么操作,发邮件或是执行远程命令(可报警升级)
重点4.调用外部脚本来告警邮件(邮件示警类型的脚本邮件报警)
A.定义一个脚本类型的示警媒介(执行脚本,脚本发送邮件)
管理——示警媒介类型——创建媒介类型——名称:Send_Mail、类型:脚本、脚本名称:Send_Mail.sh,…,(该示警媒介可以执行里面相应的脚本)
B.发给谁(创建收的用户和设置zabbix用户报警收的邮箱地址和需使用的脚本示警媒介)
管理——用户——用户群组——创建用户群组——群组名、权限——存档。
管理——用户——创建用户——用户名、密码、所属群组,关联的示警媒介,权限(即收邮件用户),点开关联的示警媒介,会让配置:类型:Send_Mail(上面定义的),收件人:1441107787@qq.com或 shi1@changyou.com(收件人地址也可是自定义的邮箱),定义什么时间段发送邮件,定义发送邮件的级别。
C.设置zabbix触发报警的动作(发送的报警信息和使用的媒介类型(脚本类型))——(动作(包括邮件内容,邮件标题)、条件、操作)
组态——动作——创建动作——动作名字——示警媒介(脚本),邮件内容,邮件主题,…
条件:非维护/触发值达到时才触发(关联好相应监控项)。
操作:每一步干什么操作,发邮件或执行远程命令(报警升级等)。
D.创建脚本,添加zabbix端邮件发送脚本(本地zabbix机器安装的postfix服务)
Zabbix_server机器上:
#vim /usr/local/zabbix/etc/Zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
#cd /usr/lib/zabbix/alertscripts
#vim Send_Mail.sh
echo "$3" | mail -s "$2" $1
注意:$1 $2 $3代表的含义:
邮件时候:
$1: 代表邮箱地址 $2: 代表邮件标题 $3: 代表邮件内容
短信时候:
$1: 手机号 $2: 代表短信标题 $3: 代表短信内容
此处的$1 $2 $3的值是由B中定义的邮箱地址,C中定义的邮件标题和C中定义的邮件内容而来。
补充—重点5.调用外部脚本来告警邮件(邮件发送脚本的另一种脚本写法)——根据需要使用
#cd /usr/lib/zabbix/alertscripts
#vim Send_Mail.sh
#!/bin/bash
touch /tmp/mailtmp.txt
FILE=/tmp/mailtmp.txt
echo "$3" > $FILE #$1:邮箱地址, $2:邮件标题(此处未用),$3:邮件内容
dos2unix -k $FILE #解决发送的邮件变成附件的问题
mail -s "$2" $1 < $FILE
chown zabbix.zabbix /tmp/mailtmp.txt
rm -f /tmp/mailtmp.txt
wq
注意:本地zabbix机器安装的postfix服务,发件人即是本地域,哪个用户执行脚本,发件人就显示: 哪个用户@主机名.localdomain
注意1:$1 $2 $3代表的含义:
邮件时候:
$1: 代表邮箱地址 $2: 代表邮件标题 $3: 代表邮件内容
短信时候:
$1: 手机号 $2: 代表短信标题 $3: 代表短信内容
此处的$1 $2 $3的值是由B中定义的邮箱地址,C中定义的邮件标题和C中定义的邮件内容而来。
注意2:使用脚本示警媒介类型发邮件和使用默认的邮件媒介类型发送邮件时,发件人显示的不同:
1)脚本:本地zabbix安装postfix,执行脚本发件后,发件人显示: 用户@本机主机名.localdomain,创建示警媒介类型时,不会提示配置发件人邮箱。
2)邮件: 创建示警媒介类型时,会提示配置发件人邮箱(一般也是本地安装postfix服务),默认也是发件人: root或zabbix@localhost,@前面的可以任意,可以伪装发件人地址,@后边的也可是其他邮件服务器的域名(一般本地搭建邮件服务,也可单独搭建一台邮件服务器)
如果对运维课程感兴趣,可以在b站上搜索我的账号: 运维实战课程,可以关注我,学习更多免费的运维实战技术视频