1. 程式人生 > >六十四、Linux監控平臺介紹、zabbix監控介紹、安裝zabbix、忘記Admin密碼如何做

六十四、Linux監控平臺介紹、zabbix監控介紹、安裝zabbix、忘記Admin密碼如何做

LInux監控平臺介紹 zabbix監控介紹 安裝zabbix 忘記Admin密碼如何做

六十四、Linux監控平臺介紹、zabbix監控介紹、安裝zabbix、忘記Admin密碼如何做

一、Linux監控平臺介紹

cacti、nagios、zabbix、smokeping、open-falcon等等

cacti、smokeping偏向於基礎監控,成圖非常漂亮

cacti、nagios、zabbix服務端監控中心,需要php環境支持,其中zabbix和cacti都需要mysql作為數據存儲,nagios不用存儲歷史數據,註重服務或者監控項的狀態,zabbix會獲取服務或者監控項目的數據,會把數據記錄到數據庫裏,從而可以成圖。

open-falcon為小米公司開發,開源後受到諸多大公司和運維工程師的追捧,適合大企業,滴滴、360、新浪微博、京東等大公司在使用這款監控軟件,值得研究。

nagios:更註重於某個監控的現在的狀態,過去歷史不關註。


二、zabbix介紹

C/S架構,基於C++開發,監控中心支持web界面配置和管理

單server節點可以支持上萬臺客戶端

最新版本3.4,官方文檔https://www.zabbix.com/manuals

5個組件

zabbix-server 監控中心,接收客戶端上報信息,負責配置、統計、操作數據,需要一個php的環境。

數據存儲 存放數據,比如mysql,mariadb等。

web界面 也叫web UI,在web界面下操作配置是zabbix簡單易用的主要原因,沒有它就不能在瀏覽器裏去配置。

zabbix-proxy 可選組件,它可以代替zabbix-server的功能,減輕server的壓力

zabbix-agent 客戶端軟件,負責采集各個監控服務或項目的數據,並上報

監控流程圖

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

解析:

添加主機到監控中心,添加監控的項目,監控項目能和服務端通信了,就會采集數據到到數據庫(mysql),數據采集過程可以是主動或被動,zabbix-server中心需要設置一個告警,zabbix需要配置告警的規則和機制,檢測到數據不正常時告警的方式是發微信還是發郵件,都在server中心配置,存儲的數據是可以用圖形呈現出來的,最終是以web界面展現出來。


三、安裝zabbix

官網下載地址 www.zabbix.com/download

zabbix可以yum安裝,但是需要安裝epel擴展源,epel擴展源裏最高版本只能安裝到2.2,所以我們使用官網提供的對應版本的yum源。

Zabbix服務端安裝

# wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm

此時在/etc/yum.repos.d/裏可以看到zabbix.repo的文件,這就是安裝的rpm包的文件。

# yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql

zabbix-get:服務端上的一個工具,可以通過命令行模式獲得客戶端的某些監控項目的數據。

zabbix-server-mysql:和mysql相關的文件數據,在安裝zabbix時要把這些數據導入進去的。

zabbix-web:web界面。

zabbix-web-mysql:web和mysql相關的東西。

這裏會連帶安裝httpd和php。

如果mysql之前沒有安裝的話,需要根據lamp那一章的mysql安裝方法安裝mysql,檢查mysql,把它啟動起來。


# vim /etc/my.cnf //在mysqld下增加一行配置,意思是設置字符集,如果不設置,後面web界面的中文顯示可能就會有問題

character_set_server = utf8

重啟mysqld服務systemctl restart mysql

進入mysql命令行

創建zabbix庫

create database zabbix character set utf8; //指定字符集為utf8

再創建用戶

grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'aming-zabbix';

//這個用戶是需要讓web代碼連接mysql的, zabbix-server啟動的前提也是需要能連接mysql的。

然後quit退出來。

導入數據

# cd /usr/share/doc/zabbix-server-mysql-3.2.11/

# gzip -d create.sql.gz

//解壓完生成了create.sql文件

# mysql -uroot -p12345 zabbix < create.sql

# systemctl start zabbix-server

# systemctl enable zabbix-server

啟動httpd之前要先檢查一下你的nginx啟動沒有,需要停止,因為nginx監聽了80端口,httpd需要監聽80。/etc/init.d/nginx stop

# systemctl start httpd; systemctl enable httpd

# systemctl disable nginx

# chkconfig nginx off

錯誤:此時ps看到有進程,但是netstat沒有監聽zabbix的端口,說明這個zabbix沒有啟動起來,不能連接MySQL。開始排查:

日誌:/var/log/zabbix/zabbix_server.log

# vim /etc/zabbix/zabbix_server.conf //修改或增加

DBHost=127.0.0.1

//在DBHost最後面一行增加,這裏可以寫127.0.0.1,也可以寫localhost,創建用戶時寫的是127.0.0.1,所以這裏也寫這個;因為mysql裝在了這臺機器上,mysql在別的機器上就寫那臺機器的IP。

DBName和DBUser有需要的話也要定義,這裏已經默認是zabbix,所以不改。

DBPassword=aming-zabbix //在DBuser下面增加


# systemctl restart zabbix-server

# netstat -lntp |grep zabbix //查看監聽端口為10051

因為yum安裝zabbix的時候,默認安裝了httpd以及配置文件,全都配置好了,所以可以直接訪問了

瀏覽器訪問http://192.168.93.130/zabbix/ //web界面下面配置zabbix

點下一步,Next step

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

右側OK的就不用管,有一項是Fail,date.timezone。到PHP的配置文件裏修改

# vim /etc/php.ini

搜索timezone

date.timezone = Asia/shanghai //將這行填好,把前面的分號去掉

# systemctl restart httpd

再進瀏覽器刷新,變成OK了,下一步。

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

填好信息,端口0代表默認的3306,如果是其他就寫其他的,

用戶名zabbix,密碼aming-zabbix

下一步,自定義一個zabbix server的name,下一步,檢查確認無誤再下一步。

出現:Congratulations! You have successfully installed Zabbix frontend.

意思是已經成功安裝了zabbix前端。

然後下一步,出現登錄界面,默認的用戶名Admin 密碼zabbix。

進入後臺第一件事情就是修改密碼

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

按照1,2,3的順序點進去後再點擊change password就可以修改密碼了,然後修改語言為Chinese,改好點Update。再次登錄時用新密碼登錄即可。

Zabbix客戶端安裝

在客戶端上也需要下載zabbix的yum源

# wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm

# yum install -y zabbix-agent

# vim /etc/zabbix/zabbix_agentd.conf //修改如下配置

Server=127.0.0.1修改為Server=192.168.93.130 //定義服務端的ip(被動模式)

ServerActive=127.0.0.1修改為ServerActive=192.168.93.130 //定義服務端的ip(主動模式)

被動模式:只能服務端從客戶端上取數據。

主動模式:客戶端主動上報把數據給服務端。

Hostname=Zabbix server修改為Hostname=yaowei-02 //這是自定義的主機名,一會還需要在web界面下設置同樣的主機名

這兩個IP都要寫,原因在於這個客戶端有可能用主動模式,有可能用被動模式

# systemctl start zabbix-agent

# systemctl enable zabbix-agent

# netstat -lntp |grep zabbix

看到端口是10050,服務端的是10051。


四、忘記Admin密碼如何做

進入mysql命令行,選擇zabbix庫

# mysql -uroot -p

mysql> use zabbix //切換到zabbix庫

mysql> update users set passwd=md5(‘newpasswd’) where alias=‘Admin’;

這樣就更改了Admin用戶的密碼


六十四、Linux監控平臺介紹、zabbix監控介紹、安裝zabbix、忘記Admin密碼如何做