type Mysql 类型选mysql
Database host 主机选本地localhost
Database port 数据库端口3306
---------------------- 数据库名你在 vim /usr/local/etc/zabbix_server.conf写的啥就是啥
------------------------ 用户同上
----------------------- 密码同上
登陆默认账户密码是使用用户(admin)和密码(zabbix)登陆
人字图标可以设置中文
配置菜单--主机 ---(主机名称写要监控的主机名称)---选择一个主机群组,如果有很多主机的比较方便管理--把主机群组导入左边来 ----agent代理端口的ip填写被监控的服务器的ip,端口会自动生成。 -----不急着更新,点击右边的模版(模版是你要监控那些东西的一个选项)----添加(模版)----更新
监控中菜单---最新数据---填写刚刚你选的主机群以及主机群里主机---点击应用 即可找到需要监控的数据---数据后有图形
*******************************************************************************************
自定义监控脚本
*******************************************************************************************
1,在被监控机上修改配置文件vim /usr/local/etc/zabbix_agentd.conf.d/
要求: UserParameter=1 //表示打开自定义监控脚本功能
去掉注释 Include=/usr/local/etc/zabbix_agentd.conf.d/ //这行表示在那个目录下写存监控脚本
2.cd 到写自定义监控脚本的路径下并vim创建文本写入脚本
cd /usr/local/etc/zabbix_agentd.conf.d
vim count.line.passwd //写一个监控用户数量的脚本(不用加#! /bin/bash)
UserParameter=count.line.passwd,wc -l /etc/passwd | awk '{print $1}'
各式为UserParameter=脚本名,(逗号后为执行的脚本)(因为最终以数据图型显示出来所以只能有数字,所以需要用awk,sed等工具过滤掉英文)
过滤参考 cat /etc/passwd | wc -l //用cat去掉文件名
sed -n '$=' /etc/passwd //屏蔽默认输出最后一行
awk 'END{print NR}' /etc/passwd //END读文件之后执行 变量NR
/etc/init.d/zabbix_agentd restart 重启
测试
zabbix_get -s 127.0.0.1 -k count.line.passwd
监控命令 监控对象是127.0.0.1 查它的脚本(用户数量)
如果测试报错了只能是配置文件有错(Server ServerActive)
**************************************创建模版**********************************************
配置---模版--模版名称---可见的名称----新建群组----添加 然后,配置菜单-----模版里就有你新建的模版,依次创建应用集,监控项,图形 (监控项的建值是你在配置文件自定义监控建本取得名字)
**********************************将你创建的模版连接到主机***********************************
配置----主机----被监控机----模版---选择(选择你刚刚自己创建的模版)-----更新
看效果: 监控中----图形---群组(一开始你把主机移动到的那个群组) ----------主机(被监控机) ----图形(自己在模版定义的图形graph)
第2天zabbix
******************************************触发监控项*****************************************
给你所监控的机子调触发器
配置菜单-----模版-----触发器
触发器表达格式如下:
{<server>:<key>.<function>(<parameter>)}<operator><constant>
{主机:key.函数(参数)}<表达式>常数
设置触发器名称(可以一眼看出监控啥的名字),点击add添加表达式(item(监控项填你设置的)(表达式我们设置的是用户,可以设置大于多少用户时触发),Time shift最近300秒账户数量大于44(根据系统账户数量实际填写),最后insert
警报等级为警告
完成触发器
/设置报警媒介/
管理------报警媒介类型------(有三种,邮件短信,还有个是外国人用的)
选着邮件----SMTP服务器填写帐号(如果有163来发邮件那就用163的邮箱,用户和密码在认证里面填写)
systemctl status postfix.service 这个服务一定要起来,一般都是默认起来的
防火墙打开,SMTP服务端口设对应的
创建多用户,每个用户所接受到的报警信息不一样
管理----用户---创建用户(实现每个用户所接受到的报警信息不一样)
Admin(点击超级管理员)-----报警媒介(设置给这个用户发报警信息方式)-----添加-----填写收件人----当启用时(格式为星期,时间段)----==设置严重性(根据不同的人设置不同的严重性)
设置触发器触发动作
配置菜单----动作---名称---新的触发条件=-------选择(你设置的触发器,主机群组有其他的触发器可选)----添加
设置动作执行什么操作
动作------操作---新的---步奏1-0(0无穷大)-----操作类型是什么---发送用户还是用户群组---仅送到(SMS。邮件。。)--------添加(添加操作)------更新
测试效果 让用户大于44 for i in {1..20}; do useradd xx$i done
看看zabbix 监控菜单-----仪表有没有报警(需要等待时间)
排除错误 (删除批量创建的用户即可)
创建自动发现规则
当Zabbix需要监控的设备越来越多,手动添加监控设备越来越有挑战,此时,可以考虑使用自动发现功能,自动添加被监控主机,实现自动批量添加一组监控主机功能。
通过Configuration(配置)-->Discovery(自动发现)-->Create discovery rule(创建发现规则)
ip范围 如果是连续的话192.168.0.1-254 单独检测ip用逗号隔开 更新时间填写1m(工作中几百台机器1h够用了)-----检查 (比如检查ftp,检查http等) ------添加
创建动作
配置--动作---事件源(选自动发现)创建动作-------名称是你自动发现规则的名称----触发条件(因为规则设置的是ip,所以触发条件选主机ip地址=192.168.2.110-254)
主动监控
配置动作具体行为--------操作-------名称同上----新的--操作细节---添加主机到群组(web1也在群组linuxserver里面,所以范县ip范围的主机也可以放在一个群组方便管理)-----添加-----操作细节---与模版关联(然后选择监控,自己做的监控有点少,可以选着linuxserver的监控点进Templates中选择监控)---添加
配置菜单--主机 可以看到找到的被监控机,有做域名解析就不会以ip的形式展示
**********************************主动监控*************************************************
主动监控:服务端像被监控端发送需要监控的模版,被监控收集模版信息然后按照时间段发给服务端
被动监控:服务端需要什么数据就像被监控端索取一次,被监控端就给一次
1。 部署被监控主机zabbix agent
[root@zabbixclient_web2 ~]# yum -y install gcc pcre-devel //必备依赖包
[root@zabbixclient_web2 ~]# tar -xf zabbix-3.4.4.tar.gz
[root@zabbixclient_web2 ~]# cd zabbix-3.4.4/
[root@zabbixclient_web2 ~]#./configure --enable-agent //被监控机只用agent模块
[root@zabbixclient_web2 ~]# make && make install
2。 修改被监控主机配置文件vim /usr/local/etc/zabbix_agentd.conf
#Server=127.0.0.1,192.168.2.5 注释允许谁监控本机
StartAgents=0 设置为0,则禁止被动监控,不启动zabbix_agentd服务
ServerActive=192.168.2.5 允许哪些主机监控本机(主动模式),一定要取消127.0.0.1
Hostname=zabbixclient_web2 告诉监控服务器,是谁发的数据信息要和zabbix服务器配置的监控主机名称一致
RefreshActiveChecks=120 默认120秒检测一次
UnsafeUserParameters=1 允许自定义key
Include=/usr/local/etc/zabbix_agentd.conf.d/
killall zabbix_agentd
zabbix_agentd
ss -ntulp | grep zabbix 显示没有启动
ps aux | grep zabbix 有显示程序
/创建主动监控的监控模板
1.克隆Zabbix自动的监控模板Template OS Linux 克隆改名Template OS Linux ServerActive
步骤: 配置---模版----找到自带模版(勾选---全克隆)
2)修改模板中的监控项目的监控模式
将模板中的所有监控项目全部修改为主动监控模式,通过Configuration(配置)-->Templates(模板)-->选择新克隆的模板,点击后面的Items(监控项)-->点击全选,选择所有监控项目,点击批量更新,将类型修改为:zabbix客户端(主动式)
3)禁用部分监控项目
点击类型(筛选出不是主动式的监控项,然后删除)
添加监控主机///
配置菜单---主机---创建主机web2---名称为配置文件里的名称----ip为0.0.0.0------端口0
4)为主机添加监控模板,选择刚刚创建的模板(主动模式),添加链接模板到主机
---模版----克隆好的模版-----添加---更新
验证
设置 监控中----图形--(监控web2,测试cpu负载)
写while: do echo bbb done 脚本测试
*******************************************************************************************
拓扑图和聚合图形都是在监控中
-------------------------------------------------------------------------------------------------------------------------------------------------
1.自定义监控案例
使用自定义Key监控常用项目
实现监控Nginx状态
实现建空网络连接状态
一,监控Nginx服务状态
准被环境 (部署nginx软件, ./configure 添加status模块 (找不到模块用./configure --help | grep status 找出来)
make && make isntall
2.修改nginx配置文件 (加入status)
vim /usr/lcoal/nginx/conf/nginx.conf
...
location /status {
stub_status on;
}
...
wq
重新加载nginx -s reload
测试 curl http://192.168.2.100/status
Active connections: 1
server accepts handled requests
10 10 3
二。自定义监控key
语法格式:
UserParameter=key,command
UserParameter=key[*],<command>
key里的所有参数,都会传递给后面命令的位置变量
vim /usr/local/etc/zabbix_agentd.conf.d/nginx.status (配置文件)
UserParameter=nginx.status[*],/usr/local/bin/nginx_status.sh $1
/etc/init.d/zabbix_agentd stop (停止服务)
zabbix_agentd (启动服务)
自定义监控脚本
[root@zabbixclient_web1 ~]# vim /usr/local/bin/nginx_status.sh
#!/bin/bash
case $1 in
active)
curl -s http://192.168.2.100/status |awk '/Active/{print $NF}';;
waiting)
curl -s http://192.168.2.100/status |awk '/Waiting/{print $NF}';;
accepts)
curl -s http://192.168.2.100/status |awk 'NR==3{print $2}';;
esac
[root@zabbixclient_web1 ~]# chmod +x /usr/local/bin/nginx_status.sh
测试效果 zabbix_get -s 127.0.0.1 -k 'nginx.status[accepts]'
创建监控
创建监控项目item,点击Configuration(配置)-->Hosts(主机),点击主机后面的items(项目),点击Create item(创建项目)