zabbix监控基础架构
一、监控第一台主机
1.初始化web页面
使用浏览器访问 http://192.168.100.102/zabbix/setup.php (zabbix服务端主机IP)
在检测信息时,可查看具体的报错信息进行不同的解决
选择mysql数据库,输入密码即可
host与port不需要修改,name自定义
确认信息,正确点击下一步
安装完成、点击finsh
进入登陆界面 账号**Admin**密码**zabbix** **注意A****大写**
2.登录和配置用户
1)增加用户
可以在管理(Administration) → 用户(Users)下 查看用户信息。
#Zabbix在安装后只定义了两个用户。
- 'Admin' 用户是Zabbix的一个超级管理员,拥有所有权限。
- 'Guest' 用户是一个特殊的默认用户。如果你没有登陆,你访问Zabbix的时候使用的其实是“guest”权限。默认情况下,“guest”用户对Zabbix中的对象没有任何权限。
点击 创建用户(Create user)以增加用户。
在添加用户的表单中,确认将新增的用户添加到了一个已有的[用户组](https://www.zabbix.com/documentation/3.4/manual/config/users_and_usergroups/usergroup),比如'Zabbix administrators'。
默认情况下,没有为新增的用户定义媒介(media,即通知发送方式) 。如需要创建,可以到'媒介(Media)'标签下,然后点击增加(Add)。
在这个对话框中,为用户输入Email地址。
你可以为媒介指定一个时间活动周期,(访问[时间周期说明](https://www.zabbix.com/documentation/3.4/manual/appendix/time_period)页面,查看该字段格式的描述)。默认情况下,媒介一直是活动的。你也可以通过自定义[触发器严重等级](https://www.zabbix.com/documentation/3.4/manual/config/triggers/severity)来激活媒介,默认所有的等级都保持开启。
点击新增(Add),然后在用户属性表单中点击新增(Add)。新的用户将出现在用户清单中。
2)增加权限
一个新用户默认没有权限访问主机。在组(Groups)下,点击用户所在的组(这里为'Zabbix administrators'),为用户提升权限。在组的属性表单下,点击权限(Permissions)标签。
为了使这个用户对*Linux servers*组拥有只读权限,点击用户组选择栏位旁边的选择(Select)按钮。
在这个对话框中,勾选'Linux servers'旁边的复选框,然后点击选择(Select)。*Linux servers*组会在选择栏位中显示。点击'读(Read)'按钮以设置权限,然后点击*添加(Add)*将所列出的权限分配给这个组。在用户组属性表单中,点击*更新(Update)*。
在Zabbix中,对于主机的访问权限是分配给[用户组(user groups)](https://www.zabbix.com/documentation/3.4/manual/config/users_and_usergroups/usergroup),而不是单独的用户(users)。
3.监控客户端部署zabbix-agent
1)在zabbix-server端安装客户端
[root@zabbix ~]# yum install zabbix-agent.x86_64 -y
[root@zabbix ~]# systemctl start zabbix-agent.service
[root@zabbix ~]# systemctl enable zabbix-agent.service
2)在其他主机安装zabbix客户端
#1.安装
方法一:
[root@web01 ~]# wget https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.29-1.el7.x86_64.rpm
[root@web01 ~]# sz zabbix-agent-4.0.29-1.el7.x86_64.rpm
导出桌面
自己服务器直接安装,其他服务器拖进rpm包再安装
[root@web01 ~]# rpm -ivh zabbix-agent-4.0.29-1.el7.x86_64.rp
方法二:直接安装
[root@web02 ~]# rpm -ivh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.29-1.el7.x86_64.rpm
#2.配置
[root@web02 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=10.0.0.71 #指定zabbix服务端的主机IP地址
#3.启动并设置开机自启
[root@web01 ~]# systemctl start zabbix-agent.service
[root@web01 ~]# systemctl enable zabbix-agent.service
4.新建主机
1)修改监控管理主机zabbix server
配置 >> 主机
主机名称: 要与主机名相同,这是zabbix server程序用的
可见名称: 显示在zabbix网页上的,给我们看的
修改后,要将下面的已启用要勾上
添加完成就有了管理机的监控主机
2)添加新的主机
添加主机组:配置 >> 主机群组 >> 创建主机组
添加主机:配置 >> 主机 >> 创建主机
注意勾选以启用
然后添加模板,选择linux OS (),先点小添加,再点大添加。
添加完成,将会有两条监控主机信息
5.查看监控内容
检测中 >> 最新数据
在最新数据中需要筛选,
输入ip或者名字都能够搜索出来
在下面就会列出所有的监控项
6.查看图像
检测中 >> 图形
选择正确的主机。选择要查看的图形即可出图
二、添加自定义监控项
0. 什么是监控项
- 监控项:就是我们想要监控的指标,例如剩余内存,磁盘空间,服务状态等等
- 每一个监控项,都有一个唯一的key,简洁明了相当于shell脚本的变量名
- 只需要安装zabbix-agent,默认就支持大量的监控项,但是Linux模板并没有使用所有的监控项
- zabbix自带模板Template OS Linux (Template App Zabbix Agent)提供CPU、内存、磁盘、网卡等常规监控,只要新加主机关联此模板,就可自动添加这些监控项。
- 应用集就是监控项的分组
需求:服务器登陆人数不能超过三人,超过三人报警
1.预备知识
自定义key能被server和agent认可
#安装zabbix-get插件
[root@localhost ~]# yum install zabbix-get -y
# 正确的key
[root@localhost ~]# zabbix_get -s 192.168.100.105 -p 10050 -k "system.uname"
Linux cache01 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64
# 没有登记的,自定义的key
[root@localhost ~]# zabbix_get -s 192.168.100.105 -p 10050 -k "login-user"
ZBX_NOTSUPPORTED: Unsupported item key.
# 写错的key
[root@localhost ~]# zabbix_get -s 192.168.100.105 -p 10050 -k "system.uname1"
ZBX_NOTSUPPORTED: Unsupported item key.
2.自定义监控项语法
### Option: UserParameter
# User-defined parameter to monitor. There can be several user-defined parameters.
# Format: UserParameter=<key>,<shell command>
# See 'zabbix_agentd' directory for examples.
#官方示例
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V
UserParameter=<key>,<shell command>
UserParameter=login-user,who|wc -l
UserParameter=login-user,/bin/sh /server/scripts/login.sh
3.自定义监控项第一步
使用命令查看服务器当前登录用户会话数量
[root@localhost ~]# uptime |awk '{print $4}'
4.自定义监控项第二步
把命令加入配置文件并起名,在agent端添加
[root@localhost ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@localhost ~]# vi userparameter_login.conf
UserParameter=user.count,uptime |awk '{print $4}'
5.自定义监控项第三步
客户端查看监控项并重启服务
查看监控项
[root@localhost zabbix_agentd.d]# zabbix_agentd -p
mysql.version [t|sh: mysql: command not found]
user.count [t|3]
重启agent服务
[root@localhost zabbix_agentd.d]# systemctl restart zabbix-agent
6.自定义监控项第四步
server端查看监控项
[root@localhost ~]# zabbix_get -s 192.168.100.105 -p 10050 -k 'user.count'
7.自定义监控项第五步
1)在web页面添加监控项
配置 >> 主机 >> 监控项 >> 创建监控项
2)创建模板,使用模板管理应用集与监控项
创建一个新模板,命名为Templete-diy
配置 >> 模板 >> 创建模板
搜索到新创建的模板,并为模板中创建应用集与监控项
创建应用集
为应用集中添加监控项===》此监控项可以上用以上创建好的监控项,也可重新创建新的监控项(以下以新的监控项演示,应用集指定原应用集即可)
8.自定义监控项第六步
创建触发器(可给主机直接创建触发器或者给自定义模板创建触发器后指定模板也可,以下以主机创建为例)
配置 >> 主机 >> 触发器 >> 创建新的触发器
- 触发器的作用:当监控项获取到的值达到一定条件时就触发报警。
- 触发器条件:当用户登录人数超过2人时,触发报警。
- 触发器表达式的格式:
例子1:
{10.0.0.8:vfs.file.cksum[/etc/passwd].diff()}>0
主机名:10.0.0.8
key值:vfs.file.cksum[/etc/passwd]
函数方法:diff() ==》对比两次监控的值
例子2:
{10.0.0.8:proc.num.last()}/{10.0.0.8:kernel.maxproc.las
t()}*100>80
当前运行进程:10.0.0.8:proc.num
系统最大允许进程的数量:10.0.0.8:kernel.maxproc
函数方法:last() 最新值
例子3:
{10.0.0.8:vm.memory.size[available].min(5m)}<{KaTeX parse error: Expected 'EOF', got '}' at position 21: …Y.AVAILABLE.MIN}̲ and {10.0.0.8:…MEMORY.AVAILABLE.MIN}=20m
and:同时
10.0.0.8:vm.memory.size[total] :最新的总内存大小
9.自定义监控项第七步
创建图形(可给主机直接创建触发器或者给自定义模板创建触发器后指定模板也可,以下以主机创建为例)
配置 >> 主机 >> 图形 >> 创建图形
10.自定义监控项第八步
给触发器添加动作,设置报警
触发器的功能是达到设定的阈值,就会发出告警,但是告警的动作就需要配置动作来完成。
自定义触发器—>动作—>通知
如果事件源是触发器–>则创建一个触发的动作–>通知
1.我怎么通知。通过介质(配置一个邮箱的发件人)
2.通知给谁。(接收的邮箱)
3.通知的内容(内容可以自定义)
1)配置邮件告警
1>添加报警媒介
2>选择email报警媒介
3>填入邮件信息
4>用户关联报警媒介
注意:收件人填入的是个人接收报警邮件的邮箱。
4)设置触发器动作
创建动作
关联出发动作的条件
设置动作内容,即报警信息以及报警接收人信息
设置故障恢复动作细节
5)模拟故障测试邮件报警功能
同时打开多个终端,达到报警阈值
在web界面查看报警相关信息
关闭终端,查看故障恢复报警功能
三、配置短信告警
4cb7bff2-1649-4899-ad7b-9c364c8e9953
1.第三方报警平台
通过 OneAlert 提供的通知分派与排班策略,以及全方位的短信、微信、QQ、电话提醒服务,可以在最合适的时间,将最重要的信息推送给最合适的人员。
https://newuser.aiops.com/
2.server端配置,切换到zabbix脚本目录
查看zabbix脚本目录
[root@localhost ~]# vi /etc/zabbix/zabbix_server.conf
查看AlertScriptsPath
AlertScriptsPath=/usr/lib/zabbix/alertscripts
切换到脚本目录
[root@localhost ~]# cd /usr/lib/zabbix/alertscripts
3.获取Cloud Alert Agent包
[root@localhost alertscripts]# wget https://download.aiops.com/ca_agent/zabbix/ca_zabbix_release-3.0.1.tar.gz
4.解压安装
[root@localhost alertscripts]# tar -xvf ca_zabbix_release-3.0.1.tar.gz
[root@localhost alertscripts]# cd cloudalert/bin
[root@localhost bin]# bash install.sh 0dcad111-1669-499c-9975-04df6cba7466
5.出现success提示表示集成成功
6.alert平台配置分派策略和通知策略
新建分派策略与通知策略
7.zabbix web界面配置短信与微信通知
8.测试alert平台报警功能
打开多个终端,查看登录人数