- 前言
告警將重要信息發送給運維「或者其他相關人」,及時發現並且處理問題。在所有開源監控軟件裏面,Zabbix 的告警方式無疑是最棒的。告警的方式各式各樣,從 Email 告警到飛信、139/189郵箱、最後到微信甚至電話告警,接入存在各種問題以及困難,有沒有什麼軟件能夠將他們All In one呢?OneAlert
2. Zabbix傳統告警方法
Email:調用 sendmail 、sendEmail 等腳本通過 SMTP 發送郵件
飛信:飛信已經退出歷史舞台,不再有人使用
189/139:發送郵箱郵件至郵箱,郵箱將短信轉到用户手機短信,存在一定的延遲
微信:需要申請一個微信公眾號,並接入API,整個流程比較複雜,而且存在會話時間限制
短信:眾多短信網關收費不同、穩定性也不確定,需要通過API接入
3.傳統告警 VS OneAlert
在整個使用過程中,得出了傳統告警方式的不足以及給個了 OneAlert 告警的功能,具體如下:
3.1 傳統告警方式的不足
Zabbix 郵件告警經常發不出去
如需短信告警,要麼購買短信貓要麼購買短信 API,整個流程太麻煩
微信告警需要申請公眾號以及 API 接入,而且會話有時間限制
夜間的告警基本成為一個擺設,試問誰能被微弱的短信聲叫醒
阿里雲、騰訊雲、Zabbix 各種系統告警都需要單獨配置,工作繁瑣
普遍缺少告警分析
139/189 發送告警存在明顯的延遲
3.2 onealert告警功能
告警 All In One,支持微信、郵箱、短信、APP、電話告警
支持接入 Zabbix、Nagios、阿里雲、騰訊雲、監控寶等等告警信息
靈活的分配策略,可靈活的分配告警信息發送給相關人員
微信、郵箱、app 等告警方式全部免費
實驗環境
localhost:(server端) 172.25.24.1 linx7.3
server2 (agent端) 172.25.24.2 linux6.5
配置網絡使虛擬機可以上網
物理機:
[root@foundation24 zabbix]# iptables -t nat -I POSTROUTING -s 172.25.24.0/24 -j MASQUERADE
localhost:
root@localhost zabbix]# route add default gw 172.25.24.250
[root@localhost zabbix]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.25.24.250 0.0.0.0 UG 0 0 0 eth0
172.25.24.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
[root@localhost zabbix]# vim /etc/resolv.conf
nameserver 114.114.114.114
[root@localhost zabbix]# ping www.baidu.com
PING www.baidu.com (183.232.231.173) 56(84) bytes of data.
64 bytes from 183.232.231.173 (183.232.231.173): icmp_seq=1 ttl=53 time=101 ms
64 bytes from 183.232.231.173 (183.232.231.173): icmp_seq=2 ttl=53 time=123
配置zabbix-server
[root@localhost zabbix]# vim /etc/zabbix/zabbix_server.conf ##默認地址
安裝oneitsm_zabbix_release並創建連接
必須在系列路徑中進行安裝,這是zabbix-server配置文件中指定的位置
[root@localhost zabbix]# cd /usr/lib/zabbix/alertscripts/
[root@localhost alertscripts]# ls
oneitsm_zabbix_release-1.2.0.tar.g
[root@localhost alertscripts]# tar zxf oneitsm_zabbix_release-1.2.0.tar.gz
[root@localhost alertscripts]# cd oneitsm
[root@localhost oneitsm]# ls
bin logs release update
[root@localhost oneitsm]# cd bin/ ##oneitsm連接腳本位置
在瀏覽器添加zabbix
創建zabbix會有一個key ,這個key是用來連接zabbix和onealert的鑰匙
使用生成的key來建立連接
[root@localhost bin]# ./install.sh ce7f5ae4-b136-6dbf-6fb9-b18d8cf5d838
./log.sh: line 6: /usr/lib/zabbix/alertscripts/oneitsm/bin/oneitsm.conf: No such file or directory
start to create config file...
Zabbix管理地址: http://172.25.24.1/zabbix
Zabbix管理員賬號: Admin
Zabbix管理員密碼: ##密碼是用來登陸zabbix的密碼
start to auth by zabbix admin user and password...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 195 100 70 100 125 473 845 --:--:-- --:--:-- --:--:-- 844
auth success!
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 109 100 41 100 68 958 1589 --:--:-- --:--:-- --:--:-- 1619
start to create mediatype...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 356 100 56 100 300 760 4073 --:--:-- --:--:-- --:--:-- 4109
create media type success!
start to create user group...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 214 100 54 100 160 772 2289 --:--:-- --:--:-- --:--:-- 2318
create user group success!
start to create user in zabbix...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 623 100 51 100 572 348 3909 --:--:-- --:--:-- --:--:-- 3917
create user success!
start to create action...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2013 100 51 100 1962 249 9611 --:--:-- --:--:-- --:--:-- 9617
create action success!
安裝成功.
在瀏覽器zabbix
查看動作
關閉agent報警媒介 ,留下onelism的
查看用户如下,oneltsm有超級管理員權限
測試開始:
Server2停止zabbix-agent服務
[root@server2 bin]# /etc/init.d/zabbix-agent stop
Shutting down Zabbix agent:
過一段時間
同時伴隨着你的設置來進行微信或者電話等,不間斷通知,由於無法截圖就不再此敍述了。
onealert上
重新開啓zabbix-agent
[root@server2 bin]# /etc/init.d/zabbix-agent start
Starting Zabbix agent:
查看zabbix(問題已解決)
查看onealert(問題已解決)
Server3 利用zabbix-haproxy 分擔server端壓力(主動模式)
root@server3 ~]# yum install zabbix-proxy-mysql-3.4.6-1.el6.x86_64.rpm fping-2.4b2-16.el6.x86_64.rpm -y
[root@server3 zabbix]# yum install -y mysql-server
[root@server3 ~]# cd /etc/zabbix/
[root@server3 zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d zabbix_proxy.conf
[root@server3 zabbix]# vim zabbix_proxy.conf
添加用户和表
[root@server3 zabbix]# /etc/init.d/mysqld start
mysql> create database zabbix_proxy character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'westos';
Query OK, 0 rows affected (0.00 sec)
添加zabbix庫
[root@server3 zabbix-proxy-mysql-3.4.6]# pwd
/usr/share/doc/zabbix-proxy-mysql-3.4.6
[root@server3 zabbix-proxy-mysql-3.4.6]# zcat schema.sql.gz | mysql -u zabbix -p zabbix_proxy
Enter password:
配置zabbix-proxy
[root@server2 ~]# vim /etc/zabbix/zabbix_agentd.conf
開啓zabbix-proxy
root@server2 ~]# /etc/init.d/zabbix-agent restart
Shutting down Zabbix agent: [ OK ]
Starting Zabbix agent: [ OK ]