文章目录
1.1 监控Windows服务器-agent方式
Windows服务器侧配置
登录ZABBIX官网,根据情况下载agent。
下载解压后是一个文件夹,里面主要用到两个文件:
为了方便操作,把上面两个文件复制到C盘目录下:
修改zabbix_agentd.conf文件里面的服务器参数后保存:
Server=192.168.1.40 #修改为zabbix的IP
以管理员权限运行CMD后执行如下命令,安装、启动agent:
zabbix_agentd.exe -i -c c:\zabbix\conf\zabbix_agentd.conf #安装
zabbix_agentd.exe -s -c c:\zabbix\conf\zabbix_agentd.conf #启动
zabbix_agentd.exe -d -c c:\zabbix\conf\zabbix_agentd.conf #卸载
效果如下:
查看Windows的服务里面agent状态,确保zabbix agent 服务处于启动状态
:
ZABBIX服务器侧配置
在ZABBIX上面新增主机
引用正确的模板后,更新保存即可。
1.2 监控Windows服务器-SNMP方式
Windows服务器侧配置
在Windows服务器运行 “服务器管理器” - “添加角色和功能” - 在功能里面勾选 “SNMP服务” 后安装
SNMP安装完成后,打开 “服务” ,找到SNMP,启动并设置自起动,
选择 “SNMP Service” 的属性,安全选项卡,如下配置,填入团体属性和允许的zabbix IP地址
关闭Windows防火墙或者打开放行SNMP UDP 161 162端口。
ZABBIX服务器侧配置
添加主机
引用模板
配置团体属性
以上,两种方式配置完成,看效果图
2.1 监控Linux服务器-agent方式
Linux服务器侧配置
在Linux上从zabbix官网下载agent:
在Linux服务器上面运行以下命令,下载、安装、启动agent:
wget https://cdn.zabbix.com/zabbix/binaries/stable/5.0/5.0.17/zabbix_agent-5.0.17-linux-4.12-ppc64le-static.tar.gz
tar -zxvf zabbix_agent-5.0.17-linux-4.12-ppc64le-static.tar.gz #解压包
cd zabbix_agent-5.0.17-linux-4.12-ppc64le-static/etc/zabbix #进入解压后的包
vim zabbix_agentd.conf #修改agent配置文件里面的服务器IP地址
Server=192.168.124.40 #IP地址为zabbix服务器的IP
systemctl start zabbix-agent #启动服务
systemctl enable zabbix-agent #加入开机自起
ZABBIX服务器侧配置
添加主机
引用模板后保存即可。
2.2 监控Linux服务器-agent方式(主动检查+自动注册)*
Linux服务器侧配置
下载、安装agent客户端
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean
yum makecache
yum -y install zabbix-agent
find / -name 'zabbix_agentd.conf' #找配置文件目录
vim /etc/zabbix//zabbix_agentd.conf #修改配置文件
Server=192.168.124.40
ServerActive=192.168.124.40 #配置zabbix服务器IP
Hostname=centos7 #定义主机名,需要与 WEB侧一致
HostMetadata=CentOS #读取主机系统的元数据,以便自动注册区分主机系统
systemctl enable --now zabbix-agent #启动服务并开机启动
测试效果
[root@zabbixhost lib]# zabbix_get -s 192.168.124.41 -p 10050 -k system.uname
Windows WIN-HNUEP7JDU8M 10.0.14393 Microsoft Windows Server 2016 Standard x64
[root@zabbixhost lib]# zabbix_get -s 192.168.124.251 -p 10050 -k system.uname
Linux localhost 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64
ZABBIX服务器侧配置
在 配置 - 动作 里面 添加自动注册的动作
终端主机已上线:
ZBX图标不亮问题
Template OS Linux by Zabbix agent active 这个主动检测的模板没有agent ping 监控项
Template Module Zabbix agent: Zabbix agent ping
解决办法:
1、复制 Template OS Linux by Zabbix agent active 为 Copy Template OS Linux by Zabbix agent active
2、删除原有的模板
3、新增一个模板
3.1 监控网络设备-SNMP方式
网络设备侧配置
保证zabbix与网络设备直接网络可达,能ping通,且放行了UDP协议的161和162端口。
在网络设备上面配置SNMP团体属性为jxaw:
snmp-agent
snmp-agent community read simple jxaw
snmp-agent log all
snmp-agent sys-info version v2c
snmp-agent trap enable
snmp-agent target-host trap address udp-domain 192.168.124.40 params securityname jxaw v2c
ZABBIX服务器侧配置
新增主机
引用模板
配置宏,配置SNMP团体属性即可。
4.1 修改ZABBIX的Logo图标:
参考博主 闲鱼文子 的文章:Zabbix修改logo
1、修改zabbix的4个图标
网页标题的favicon.ico #34*34
BRAND_LOGO:登录页 logo #114x30
BRAND_LOGO_SIDEBAR:首页侧栏 logo #91x24
BRAND_LOGO_SIDEBAR_COMPACT:首页侧栏隐藏 logo #24x24
BRAND_FOOTER:页脚
BRAND_HELP_URL:帮助链接
2、用find / -name zabbix.conf 查找配置文件路径naing或者apache的配置文件
找到位置以后编辑配置文件:vim /etc/httpd/conf.d/zabbix.conf ,在里面找到zabbix的WEB页面路径。
3、创建好logo文件夹,把编辑好的图片都上传到此处
mkdir /usr/share/zabbix/logo
4、创建文件 vim /usr/share/zabbix/local/conf/brand.conf.php 来调用图片
vim /usr/share/zabbix/local/conf/brand.conf.php
<?php return [
'BRAND_LOGO' => './logo/custom_logo.png',
'BRAND_LOGO_SIDEBAR' => './logo/custom_logo_sidebar.png',
'BRAND_LOGO_SIDEBAR_COMPACT' => './logo/custom_logo_sidebar_compact.png',
'BRAND_FOOTER' => '技术支持 @ Zabbix',
'BRAND_HELP_URL' => 'https://www.zabbix.com/documentation/6.0/zh/'
给文件赋予权限:
chmod -R 777 /usr/share/zabbix/local/conf
5、更换网页标题的图标:
find / -name favicon.ico
/usr/share/zabbix/favicon.ico
把新的图片重命名为相同名字上传替换即可。
6、修改登录页面右上角显示的文字以及登录以后左上角的文字
vim /etc/zabbix/web/zabbix.conf.php
$ZBX_SERVER_NAME = '自动化运维监控平台';
改平台字体“自动化监控平台”颜色:
vim /usr/share/zabbix/assets/styles/blue-theme.css
color: rgba(255, 255, 255, 1); #大概在323行,该代码为白色不透明。
4.2 修改登录页面的中文
参考博主 局外人Inside 的文章。
登录页的源码文件在/usr/share/zabbix/include/views目录下的general.login.php文件中。
vim /usr/share/zabbix/include/views/general.login.php
修改下图所示的参数:
4.3 微信告警
1、先在企业微信里面建立群聊,人数大于等于2人,然后群聊右上角添加机器人,添加后记住 webhook 地址,这个要用到。
2、编写 python 脚本调用群聊机器人,给群聊发消息。
grep -Ev '^$|#' /etc/zabbix/zabbix_server.conf | grep ^A #查找告警脚本目录
AlertScriptsPath=/usr/lib/zabbix/alertscripts #显示在这个目录下面
切换到 /usr/lib/zabbix/alertscripts 目录下新建调用机器人脚本
vim wxa.py #编辑脚本
##以下是脚本内容
#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests
import json
import sys
import os
headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=************" #这里填入机器人的webhook地址
def msg(text):
json_text= {
"msgtype": "text",
"text": {
"content": text
},
}
print requests.post(api_url,json.dumps(json_text),headers=headers).content
if __name__ == '__main__':
text = sys.argv[1]
text = text.replace('---', '\n\n')
msg(text)
##如果找不到导入模块requests
方式一:
yum install python-requests -y
方式二:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python get-pip.py
sudo pip install requests
##测试脚本
chmod 777 wxa.py #给脚本赋权
python wxa.py hello #群聊机器人会发送一个“hello”的消息
3、在zabbix前端调用python脚本
3.1、在管理 - 报警媒介类型 里面创建新的微信告警媒介
3.2、“用户设置” 里面管理上面创建的报警媒介:
3.3、在“配置” - “动作”里面新增触发器动作,当发生告警时,触发微信机器人告警发送消息
上图发生故障的自定义消息格式:
主题:
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
消息:
告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
上图故障恢复的自定义消息格式:
主题:
故障恢复{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}已恢复!
消息:
恢复告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
4.5 监控IP地址
告警消息:
4.6 拓扑图显示流量
在拓扑图的线缆的标签处输入接口的流量键值
找到“主机”的“监控项”里面的接口的收发流量的“键值”
标签格式:【发:{hostname:net.if.out[“eth0”]}】【收:{hostname:net.if.in[“eth0”]}】
文中有参考其他博主的文档,侵删!