1. 程式人生 > >(一)Zabbix監控系統

(一)Zabbix監控系統

。。;‘

隨著雲計算和互聯網的高速發展,大量應用需要橫跨不同網絡終端,並廣泛接入第三方服務(如支付、登錄、導航等),IT系統架構越來越復雜。快速叠代的產品需求和良好的用戶體驗,需要IT運維管理者時刻保障核心業務穩定可用,而企業運維中的痛點和難點也急需解決。


1、面向業務的運維,不但關心單點IT資源的運行狀態,更關心整個業務系統的健康狀態

2、如果企業使用了大量的API和模塊化應用,那麽關註每個接口的性能變化情況和指標

3、對於運維主管及企業管理層來說,特別需要上墻的監控大屏

4、運維需要每周、每月查看報告趨勢分析,但傳統運維工具數據導出困難

5、需要第一時間轉雀和快速發現故障節點,減少業務中斷帶來的損失

目前流行的開源運維工具如Zabbix、Nagios等大部分來自國外,雖然這些開源產品功能非常強大,但對技術要求很高,而且缺少足夠的中文文檔和本土服務支持,一般運維人員要想用好難度很大。

  於是就有國內IT廠商小米、TalkingData對其自主開發的運維系統進行了開源,同時作為商用監控服務商代表的雲智慧,也對其監控寶產品進行逐步開源,讓運維、開發人員在獲得便捷部署和易用性的同時,可根據自己的業務需求進行靈活的二次開發。

雲智慧對業內主流的開源運維監控系統和商業運維監控系統進行對比,分析各種產品的定位、目標用戶和功能特點,希望幫助廣大運維、開發和創業者找到最適合自己的運維工具。

開源運維監控產品篇

Zabbix

  推薦星級:★★★★★

  Zabbix是一個基於WEB界面的提供分布式系統監控以及網絡監控功能的企業級開源運維平臺,也是目前國內互聯網用戶中使用最廣的監控軟件,雲智慧遇到的85%以上用戶在使用Zabbix做監控解決方案。

運維工具大寶典之開源平臺篇

  入門容易、上手簡單、功能強大並且開源免費是雲智慧對Zabbix的最直觀評價。Zabbix易於管理和配置,能生成比較漂亮的數據圖,其自動發現功能大大減輕日常管理的工作量,豐富的數據采集方式和API接口可以讓用戶靈活進行數據采集,而分布式系統架構可以支持監控更多的設備。理論上,通過Zabbix提供的插件式架構,可以滿足企業的任何需求。

  用戶群:85%以上的泛互聯網企業。

  優點:

  1. 支持多平臺的企業級分布式開源監控軟件;

  2. 安裝部署簡單、管理方便;

  3. 功能強大,監控靈活,可實現復雜多條件告警;

  4. 多種數據采集插件,靈活集成;

  5. 自帶畫圖功能,得到的數據可以繪成圖形;

  6. 同時支持調用腳本,很方便;

  7. 提供多種API接口,定制化最高的監控軟件;

  8. 出現問題時可自動遠程執行命令(需對agent設置執行權限);

  缺點:

  1. 項目批量修改不方便;

  2. 社區雖然成熟,但是中文資料相對較少,服務支持有限;

  3. 入門容易,能實現基礎的監控,但是深層次需求需要非常熟悉Zabbix並進行大量的二次定制開發,難度較大;

  4. 系統級別報警設置相對比較多,如果不篩選的話報警郵件會很多;並且自定義的項目報警需要自己設置,過程比較繁瑣;

  5. 缺少數據匯總功能,如無法查看一組服務器平均值,需進行二次開發;

  6. 數據報表需要特殊二次開發定義;


2.linux系統監控工具

(1)top
技術分享圖片
當你想要查看在系統中運行的進程或線程時:top 是一個很好的工具。你可以對這些進程以不同的方式進行排序,默認是以 CPU 進行排序的。
(2)htop
安裝:yum -y install htop
技術分享圖片
htop 實質上是 top 的一個增強版本。它更容易對進程排序。它看起來上更容易理解,並且已經內建了許多通用操作以及利用鼠標操作。它也是完全交互式的。

(3)atop

安裝: yum -y install atop

技術分享圖片
atop 和 top,htop 非常相似,它也能監控所有進程,但不同於 top 和 htop 的是,它可以按日記錄進程的日誌供以後分析。它也能顯示所有進程的資源消耗。它還會高亮顯示已經達到臨界負載的資源

(4) iotop
安裝: yum -y install iotop
技術分享圖片

(5)nethogs
安裝: yum -y install nethogs
技術分享圖片

(6)iftop
安裝: yum -y install iftop
-i 指定查看某一塊網卡流量
技術分享圖片


3.zabbix監控3.0安裝部署

 環境準備:

zabbix服務端
[root@m01 ~]# tail -3 /etc/hosts
192.168.16.200 mirrors.aliyun.com
192.168.16.200 repo.zabbix.com
172.16.1.61 m01
[root@m01 ~]# hostname -I
10.0.0.61 172.16.1.61
[root@m01 ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)


客戶端:
[root@cache01 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.16.200 mirrors.aliyun.com
192.168.16.200 mirrors.aliyun.com repo.zabbix.com

[root@Cobbler ~]# hostname -I
10.0.0.202 172.16.1.202

[root@cache01 ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@cache01 ~]# getenforce
Disabled

1)服務端配置
echo "192.168.16.200 mirrors.aliyun.com repo.zabbix.com" >>/etc/hosts
安 裝Zabbix官方源
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

安裝zabbix,httpd,php
yum install zabbix-server-mysql zabbix-web-mysql -y

安裝mariadb數據庫
yum -y install mariadb-server

啟動數據庫
systemctl start mariadb.service

進入數據庫配置
mysql
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by ‘zabbix‘;
exit

導入數據庫sql文件
zcat /usr/share/doc/zabbix-server-mysql-3.0.13/create.sql.gz|mysql -uzabbix -pzabbix zabbix

配置zabbix Server連接mysql
sed -i.ori ‘115a DBPassword=zabbix‘ /etc/zabbix/zabbix_server.conf

#修改apache-php配置
sed -i.ori ‘18a php_value date.timezone Asia/Shanghai‘ /etc/httpd/conf.d/zabbix.conf

啟動
systemctl start zabbix-server
systemctl start httpd
systemctl enable zabbix-server.service httpd.service mariadb.service

利用瀏覽器訪問
http://10.0.0.61/zabbix/
技術分享圖片
技術分享圖片

技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

技術分享圖片

4.客戶端部署
所有需要被監控的服務器都要執行下面步驟,下面以在m01和cache01安裝客戶端為例:
註:服務和客戶端都要執行
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

yum install zabbix-agent -y

sed -i.ori ‘s#Server=127.0.0.1#Server=172.16.1.61#‘ /etc/zabbix/zabbix_agentd.conf

systemctl start zabbix-agent.service
技術分享圖片
#只能在服務端m01操作,需要使用-s執行相應客戶端IP
yum install zabbix-get -y
zabbix_get -s 172.16.1.61 -p 10050 -k "system.cpu.load[all,avg1]"
zabbix_get -s 172.16.1.202 -p 10050 -k "system.cpu.load[all,avg1]"

技術分享圖片

5.web界面操做更改語言設置

技術分享圖片

技術分享圖片

技術分享圖片
技術分享圖片技術分享圖片技術分享圖片

技術分享圖片![]技術分享圖片技術分享圖片技術分享圖片
技術分享圖片技術分享圖片技術分享圖片

解決字符亂碼
zabbix-server操作命令
yum -y install wqy-microhei-fonts
\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
技術分享圖片

6.zabbix-server操作

cd /etc/zabbix/zabbix_agentd.d/
echo "UserParameter=login-user,who|wc -l" > userparameter_login.conf
systemctl restart zabbix-agent.service
zabbix_get -s 172.16.1.202 -p 10050 -k "login-user"

自定義模板設置
技術分享圖片技術分享圖片
技術分享圖片技術分享圖片

技術分享圖片
技術分享圖片
技術分享圖片技術分享圖片技術分享圖片![](http://i2.51cto.com/images/blog/201803/15/8719c0c82c508b9698187044e837e741.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk![](http://i2.51cto.com/images/blog/201803/15/482ae6b08624a0d89d619387067ba135.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
技術分享圖片技術分享圖片![](http://i2.51cto.com/images/blog/201803/15/ea3bd62f361c824dfab3ed22baf602a8.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk![](http://i2.51cto.com/images/blog/201803/15/dffd20da4c65defd1c288fb5c215e396.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)![](http://i2.51cto.com/images/blog/201803/15/1cde50da512e7b4253dd98f15bf227e0.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)![](http://i2.51cto.com/images/blog/201803/15/232354aaa2f718341a6c1498728dc654.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

打開四個客戶端xshell測試
技術分享圖片

技術分享圖片
技術分享圖片技術分享圖片

7.能通過mail命令發郵件的郵箱賬號

zabbix-server執行

[root@Cobbler zabbix_agentd.d]# cd /usr/lib/zabbix/alertscripts
[root@Cobbler alertscripts]# ls
[root@Cobbler alertscripts]# rz -E
rz waiting to receive.
[root@Cobbler alertscripts]# cat email.sh
#!/bin/bash

[ $# -ne 3 ] && exit 1

num=$(rpm -qa dos2unix|wc -l)

[ $num -eq 0 ] && yum -y install dos2unix &>/dev/null

email_File=/tmp/email.log
function main(){
echo "$3" >$email_File
/usr/bin/dos2unix $email_File &>/dev/null
/bin/mail -s "$2" "$1" <$email_File
}
main "$1" "$2" "$3"
[root@m01 alertscripts]# chmod +x email.sh

技術分享圖片
技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片

技術分享圖片

打開多個客戶端xshell測試郵件報警

技術分享圖片

(一)Zabbix監控系統