zabbix问题总结

下载了zabbix现成的ISO文件用于安装避免了额外的配置。该系统基于Ubuntu16.04,安装完毕后有一些后续操作需要更改在这里做个记录。

系统需要进行的修改:

Linux默认用户名密码:appliance/zabbix

Web默认用户名密码:Admin/zabbix

1
2
3
4
5
6
appliance@zabbix:~$ lsb_release  -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial

设置IP地址和静态路由

1
2
3
4
5
6
7
8
9
10
appliance@zabbix:~$ sudo vi /etc/network/interfaces
auto ens32
iface ens32 inet static
address 136.1.1.19 #IP
netmask 255.255.255.0 #子网
gateway 136.1.1.12 #网关

up route add -net 136.0.0.0 netmask 255.0.0.0 gw 136.1.1.254 #设置静态路由

appliance@zabbix:~$ sudo service networking restart

设置操作系统时区和zabbix时区

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
appliance@zabbix:~$ date -R  #查看时区
appliance@zabbix:~$ sudo tzselect #选择Asia/ShangHai
appliance@zabbix:~$ sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

appliance@zabbix:~$ sudo vi /etc/apache2/conf-enabled/zabbix.conf
<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value max_input_vars 10000
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/ShangHai #此处更改时区
</IfModule>
<IfModule mod_php7.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value max_input_vars 10000
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/ShangHai #此处更改时区
</IfModule>

appliance@zabbix:~$ sudo service apache2 restart #重启apache

关于Zabbix微信报警提示的一些错误解决:

zabbix微信报警提示错误:No media defined for user.

管理—用户—对应用户更改报警媒介为wechat。

zabbix微信报警提示错误:ImportError: No module named requests.

事实上已经通过pip2 install requests安装过requests,pip list也可以看到该模块。开始怀疑是python2.7和3.6共存问题,但是在命令行工具测试weixin工具正常只是zabbix提示找不到requests模块,通过试用apt-get安装解决。

1
sudo apt-get install python-requests

zabbix微信报警提示错误:file = open(‘/tmp/zabbix_wechat_config.json’, ‘w’)

IOError: [Errno 13] Permission denied: ‘/tmp/zabbix_wechat_config.json’

通过ls -l /tmp/zabbix_wechat_config.json查看文件属主为appliance,猜测是因为之前在命令行下直接执行weixin.py脚本导致权限不对。使用rm -rf 删除该文件让系统自己重新生成解决。

zabbix微信报警功能中文乱码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
appliance@zabbix:~$ sudo vi /usr/lib/zabbix/alertscripts/wechat.py
"agentid": Agentid,
"text": {
"content": Subject + '\n' + Content
},
"safe": "0"
}
#添加ensure_ascii=False
r = requests.post(url=Url,data=json.dumps(Data, ensure_ascii=False),verify=False)
while r.json()['errcode'] != 0 and n < 4:
n+=1
Token = GetTokenFromServer(Corpid, Secret)
if Token:
Url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % Token
#添加ensure_ascii=False
r = requests.post(url=Url,data=json.dumps(Data, ensure_ascii=False),verify=False)
print(r.json())

return r.json()


if __name__ == '__main__':
User = sys.argv[1] # zabbix传过来的第一个参数

关于Zabbix页面操作的一些记录

万兆接口图形不正常:

在添加主机时模板我最初选择了“Template Net Network Generic Device SNMPv2”结果导致万兆接口流量显示不正常,原因是该模板试用了“Template Module Interfaces Simple SNMPv2”这个simple试用了32位计数显示流量导致不正常。

打开主机删除“Template Net Network Generic Device SNMPv2”之后添加“Template Module Interfaces SNMPv2”解决。该模板试用64位计数显示流量。

参考两个文章: https://support.zabbix.com/browse/ZBXNEXT-2188

https://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/26007-faq-snmpcounter.html

安装微信报警功能:

参考 https://wsgzao.github.io/post/zabbix-alert-wechat/

https://github.com/X-Mars/Zabbix-Alert-WeChat

https://www.cnblogs.com/lbjstill/p/11465392.html