選擇您Zabbix服務器的平臺
ZABBIX版本 4.0 LTS
CentOS OS版本 7
數據庫 MySQL
安裝配置Zabbix server
a. 安裝 MySQL 數據庫
產品手冊
# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
# yum clean all
yum -y install zabbix-agent
b. 安裝Zabbix server,Web前端,agent
# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
c. 創建初始數據庫
產品手冊
# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
mysql> quit;
導入初始架構和數據,系統將提示您輸入新創建的密碼。
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
d. 爲Zabbix server配置數據庫
編輯配置文件 /etc/zabbix/zabbix_server.conf
DBPassword=password
e. 爲Zabbix前端配置PHP
Edit file /etc/httpd/conf.d/zabbix.conf, uncomment and set the right timezone for you.
# php_value date.timezone Europe/Riga
f. 啓動Zabbix server和agent進程
啓動Zabbix server和agent進程,併爲它們設置開機自啓:
# systemctl restart zabbix-server zabbix-agent httpd
# systemctl enable zabbix-server zabbix-agent httpd
現在您的Zabbix server已經安裝完成並開始運行!
# systemctl restart zabbix-agent
# systemctl enable zabbix-agent
配置Zabbix前端
連接到新安裝的Zabbix前端: http://server_ip_or_name/zabbix
根據Zabbix文件裏步驟操作: 安裝前端
開始使用Zabbix
查看快速開始指南
==========================================================================================
容器化zabbix。
容器部署zabbix更簡單
準備兩臺機器:
192.168.1.130 zabbix-server
192.168.1.131 zabbix-agent
軟件版本:
docker: 18.09.0-ce
zabbix: 4.0.3
安裝docker可以使用阿里鏡像源的repo安裝:
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
開始部署zabbix:
192.168.22.200上操作:
1、安裝mysql
[root@server ~]# mkdir -p /data/zabbix/mysql
[root@server ~]# useradd mysql
[root@server ~]# chown -R mysql.mysql /data/zabbix/mysql
[root@server ~]# docker run --name mysql-server --restart=always -p 3306:3306 -t \
-v /etc/localtime:/etc/localtime \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-v /data/zabbix/mysql:/var/lib/mysql \
-d mysql:5.7.27 \
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-time-zone='+08:00'
2、啓動java-gateway容器監控java服務
docker run --name zabbix-java-gateway -t \
-d zabbix/zabbix-java-gateway:latest
3、啓動zabbix-server-mysql容器服務
[root@server ~]# docker run --name zabbix-server-mysql -t \
--restart=always \
-v /etc/localtime:/etc/localtime \
-e MYSQL_DATABASE="zabbix" \
-e DB_SERVER_PORT="3306" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-e ZBX_SENDERFREQUENCY=30 \
-e ZBX_CACHESIZE=64M \
-e ZBX_CACHEUPDATEFREQUENCY=60 \
-e ZBX_STARTDBSYNCERS=16 \
-e ZBX_HISTORYCACHESIZE=128M \
-e ZBX_HISTORYINDEXCACHESIZE=64M \
-e ZBX_TRENDCACHESIZE=64M \
-e ZBX_VALUECACHESIZE=128M \
-e ZBX_LOGSLOWQUERIES=30000 \
-e ZBX_STARTVMWARECOLLECTORS=5 \
-e ZBX_VMWAREFREQUENCY=60 \
-e ZBX_VMWAREPERFFREQUENCY=60 \
-e ZBX_VMWARECACHESIZE=80M \
-e ZBX_VMWARETIMEOUT=10 \
-v /usr/lib/zabbix/:/usr/lib/zabbix/ \
--link mysql-server:mysql \
--link zabbix-java-gateway:zabbix-java-gateway \ #此行是啓用zabbix-java-gateway後加入
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:latest
4、啓動zabbix-web-nginx-mysql容器服務
[root@server ~]# docker run --name zabbix-web-nginx-mysql -t \
--restart=always \
-v /etc/localtime:/etc/localtime \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-e PHP_TZ="Asia/Shanghai" \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 80:80 \
-d zabbix/zabbix-web-nginx-mysql:latest
5、啓動zabbix-agent容器服務
docker run --name zabbix-agent \
--restart=always \
--net=host \
-e ZBX_SERVER_HOST="192.168.1.130" \
-e ZBX_SERVER_PORT=10051 \
-e ZBX_UNSAFEUSERPARAMETERS=1 \
-v /etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d \
-v /var/lib/zabbix/modules:/var/lib/zabbix/modules \
-v /var/lib/zabbix/enc:/var/lib/zabbix/enc \
-v /etc/localtime:/etc/localtime \
-d zabbix/zabbix-agent:latest
注:server端agent部署:
docker run --name zabbix-agent \
-e ZBX_STARTAGENTS=3 \
-e ZBX_UNSAFEUSERPARAMETERS=1 \
-v /etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d \
-v /var/lib/zabbix/modules:/var/lib/zabbix/modules \
-v /var/lib/zabbix/enc:/var/lib/zabbix/enc \
--link zabbix-server-mysql:zabbix-server \
-p 10050:10050 \
--privileged -d zabbix/zabbix-agent:latest
docker exec -it zabbix-agent /bin/bash
安裝完成,瀏覽器上訪問:
192.168.10.130/zabbix
Admin/zabbix
================================================================================================
zabbix4.0.3中文亂碼問題
解決步驟:
1、在windows獲取字體庫文件
在C:\Windows\Fonts中複製想要的字體,後綴爲ttf,若本身問大寫,請改成小寫的文件後綴ttf。
simkai.ttf
2、進入zabbix/zabbix-web-nginx-mysql容器
docker exec -it 容器ID /bin/bash
docker exec -it zabbix-web-nginx-mysql /bin/bash
3、將字體文件simkai.ttf上傳進容器目錄
(1):
docker cp simkai.ttf 容器ID:/usr/share/fonts/ttf-dejavu
docker cp simkai.ttf /usr/share/fonts/ttf-dejavu
進入容器目錄:/usr/share/zabbix/fonts,運行命令:
mv graphfont.ttf graphfont.ttf.backup && ln -s /usr/share/fonts/ttf-dejavu/simkai.ttf ./ && mv simkai.ttf graphfont.ttf
(2):
docker cp simkai.ttf zabbix-web-nginx-mysql:/usr/share/zabbix/assets/fonts
完成,刷新zabbix頁面即可。
微信告警設置:
docker cp weixin.py zabbix-server-mysql:/usr/lib/zabbix/alertscripts/
配置 --- 動作 : 微信告警
操作:
默認主題 {TRIGGER.STATUS}: {TRIGGER.NAME}
消息內容
{TRIGGER.STATUS}: {TRIGGER.NAME}
告警主機: {HOSTNAME}
告警時間: {EVENT.DATE} {EVENT.TIME}
告警等級: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目: {TRIGGER.KEY1}
問題詳情: {ITEM.NAME}:{ITEM.VALUE}
當前狀態: {TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID: {EVENT.ID}
恢復操作:
默認主題 {TRIGGER.STATUS}: {TRIGGER.NAME}
消息內容
{TRIGGER.STATUS}: {TRIGGER.NAME}
告警主機: {HOSTNAME}
告警時間: {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}故障!
告警主機:{HOSTNAME}
告警主機IP:{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}已恢復!
告警主機:{HOSTNAME}
告警主機IP地址:{HOST.IP}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
告警腳本參數:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}