Zabbix監控介紹&配置zabbix架構

[toc]
#

Linux監控平臺介紹

常見的有 cacti、nagios、zabbix、smokeping、open-falcon等等。

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

cacti、nagios、zabbix服務端監控中心,需要php環境支持,其中zabbix和cacti都需要mysql作爲數據存儲,這幾款監控軟件均有web操作界面。

nagios不用存儲歷史數據,注重服務或者監控項的狀態。

zabbix優勢:

zabbix會獲取服務或者監控項目的數據,會把數據記錄到數據庫裏,從而可以成圖,可以增加配置節點,增加具體的監控節點,可以配置報警閾值等,所以爲什麼如此流行其原因就在此,尤其是我們可以很方面的使用鼠標就可以完成一系列的操作,定義規則等。

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

二、 zabbix 監控介紹:

C/S架構(被監控的server需要安裝監控軟件,既可以主動連接客戶端,也可以被動的讓客戶端推送自己的狀態),基於C++開發,監控中心支持web界面配置和管理。

單server節點可以支持上萬臺客戶端(可支持同時上萬臺的server監控,併發量高,如果超過一定的量,性能可能會降低,但是我們可以增加Proxy代理點來充當監控服務器來減輕壓力)

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

5個組件

  • [ ] zabbix-server 監控中心,接收客戶端上報信息,負責配置、統計、操作數據。

  • [ ] 數據存儲 存放數據,比如mysql。

  • [ ] web界面 也叫web UI,在web界面下操作配置是zabbix簡單易用的主要原因。

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

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

zabbix監控流程圖

mark

三、Zabbix監控安裝與部署

3.1 下載所需的zabbix的yum源

官方下載地址:
https://www.zabbix.com/download

mark

mark

mark

下載yum擴展源並安裝

[root@xavi ~]# wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
[root@xavi ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

查看

[root@xavi ~]# cat /etc/yum.repos.d/ 按兩次tab鍵
CentOS7-Base-163.repo  CentOS-Debuginfo.repo  CentOS-Media.repo      CentOS-Vault.repo      epel-testing.repo
CentOS-CR.repo         CentOS-fasttrack.repo  CentOS-Sources.repo    epel.repo              zabbix.repo
  • 查看安裝文件
[root@xavi ~]# cat /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/3.2/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch 
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1

安裝相關安裝包,會連帶安裝httpd和php

[root@xavi ~]# yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql 

安裝mysql(兩種方法,①yum安裝 ②編譯mysql安裝<安裝LAMP的時候>):

# yum install -y mysql mysql-server mysql-devel 

# systemctl start mysqld

# ps aux | grep mysql //若未啓動,可開啓

mysql啓動報錯,查看日誌

# systemctl start mysql 報錯
# less /data/mysql/xavilinux.err 查看錯誤日誌
# ls -l /data/mysql/ 查看MySQL下的文件權限
# chown -R mysql:mysql /data/mysql/
複製後再次啓動

3.2 編輯mysql配置文件

[root@xavi ~]# vim /etc/my.cnf
character_set_server = utf8

如果不添加此值,後期zabbix的web界面改成中文後會出現問題。

重啓mysqld服務

[root@xavi ~]# /etc/init.d/mysqld start
Starting MySQL... SUCCESS!

進入mysql命令行,創建zabbix庫和用戶

(這個就類似於之前創建wordpress,discuz站點一樣的,其實zabbix也是一個php寫的web監控站點)

[root@xavi ~]# mysql -uroot -pxavilinux
mysql> create database zabbix character set utf8;
Query OK, 1 row affected (0.00 sec)

mysql> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'xavi-zabbix';
Query OK, 0 rows affected (0.00 sec)

導入zabbix數據庫

[root@xavi ~]# cd /usr/share/doc/zabbix-server-mysql-3.2.11/

[root@xavi zabbix-server-mysql-3.2.11]# ls
AUTHORS  ChangeLog  COPYING  create.sql.gz  NEWS  README

[root@xavi zabbix-server-mysql-3.2.11]# gzip -d create.sql.gz //解壓
[root@xavi zabbix-server-mysql-3.2.11]# ls
AUTHORS  ChangeLog  COPYING  create.sql  NEWS  README
[root@xavi zabbix-server-mysql-3.2.11]# mysql -uroot -pxavilinux zabbix < create.sql
//導入數據庫
Warning: Using a password on the command line interface can be insecure.

3.3 啓動zabbix-server,和httpd服務

如果之前有配置nginx,或者tomcat(配置了80端口)服務一定要先停掉。不然啓動httpd會報錯

[root@xavi ~]# systemctl start zabbix-server
[root@xavi ~]# systemctl start httpd
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.

通過端口查找,發現被java(tomcat)佔用了80端口

[root@xavi ~]# lsof -i:80
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    2594 root   49u  IPv6  26769      0t0  TCP *:http (LISTEN)

關閉tomcat

[root@xavi ~]# /usr/local/tomcat/bin/shutdown.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@xavi ~]# lsof -i:80
[root@xavi ~]#  systemctl start httpd

mark

配置開機啓動:

[root@xavi ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@xavi ~]# systemctl enable zabbix-server
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.

3.4 查看zabbix的日誌,發現雖啓動zabbix但未連接mysql

[root@xavi ~]# ps aux |grep zabbix
zabbix    10131  0.0  0.1 258216  3472 ?        S    15:44   0:00 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
root      11441  0.0  0.0 112684   976 pts/0    S+   17:21   0:00 grep --color=auto zabbix
[root@xavi ~]# less /var/log/zabbix/zabbix_server.log

mark

5. 重新編輯配置zabbix:

[root@xavi ~]# vim /etc/zabbix/zabbix_server.conf 
//修改或增加
DBHost=127.0.0.1    //在DBName=zabbix上面增加
(在此寫的是本地的mysql,但是線上的環境一般都有指定的mysql地址)

DBUser=zabbix
DBPassword=xavi-zabbix     //在DBuser下面增加,要和之前mysql配置的用戶密碼一致

再次重啓zabbix

# systemctl restart zabbix-server
[root@xavi ~]# !ps
ps aux |grep zabbix
zabbix    11552  0.0  0.2 258396  4144 ?        S    17:30   0:00 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
zabbix    11554  0.0  0.1 258396  2492 ?        S    17:30   0:00 /usr/sbin/zabbix_server: configuration syncer [waiting 60 sec for processes]
zabbix    11555  0.0  0.1 258396  2696 ?        S    17:30   0:00 /usr/sbin/zabbix_server: db watchdog [synced alerts config in 0.012630 sec, idle 60 sec]
zabbix    11556  0.0  0.2 365328  5192 ?        S    17:30   0:00 /usr/sbin/zabbix_server: poller #1 [got 0 values in 0.000009 sec, idle 5 sec]
zabbix    11557  0.0  0.2 365328  5192 ?        S    17:30   0:00 /usr/sbin/zabbix_server: poller #2 [got 0 values in 0.000007 sec, idle 5 sec]
zabbix    11558  0.0  0.2 365328  5192 ?        S    17:30   0:00 /usr/sbin/zabbix_server: poller #3 [got 0 values in 0.000014 sec, idle 5 sec]
zabbix    11559  0.0  0.2 365328  5192 ?        S    17:30   0:00 /usr/sbin/zabbix_server: poller #4 [got 0 values in 0.000007 sec, idle 5 sec]
zabbix    11560  0.0  0.2 365328  5192 ?        S    17:30   0:00 /usr/sbin/zabbix_server: poller #5 [got 0 values in 0.000010 sec, idle 5 sec]
zabbix    11561  0.0  0.2 365328  5192 ?        S    17:30   0:00 /usr/sbin/zabbix_server: unreachable poller #1 [got 0 values in 0.000013 sec, idle 5 sec]
zabbix    11562  0.0  0.1 258396  3596 ?        S    17:30   0:00 /usr/sbin/zabbix_server: trapper #1 [processed data in 0.000000 sec, waiting for connection]
zabbix    11563  0.0  0.1 258396  3596 ?        S    17:30   0:00 /usr/sbin/zabbix_server: trapper #2 [processed data in 0.000000 sec, waiting for connection]

我們會看到有很多的zabbix子進程。

監聽的端口爲:10051

mark

3.5 安裝配置zabbix web界面

在瀏覽器輸入
http://192.168.72.130/zabbix/
mark

mark

第二頁在 Check of pre-requisites如果發現錯誤就必須設置一下,提示php的timezone沒有設置。

vim /etc/php.ini    //搜索timezone配置即可

date.timezone = Asia/Shanghai

mark

重啓一下,讓配置生效:

systemctl restart httpd

mark

mark

mark

mark

3.6 第一次登入界面,初始用戶名Admin 密碼zabbix

mark

修改原始密碼

mark

mark

mark

退出後,重新登入

mark

四、zabbix客戶端安裝配置

4.1 下載安裝

下載指定版本:

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

安裝zabbix的yum擴展源:

rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

client端僅僅只需要安裝服務:

yum install -y zabbix-agent

4.2 配置zabbix

[root@xavi-002 ~]# vim /etc/zabbix/zabbix_agentd.conf 
//增加如下配置:

Server=127.0.0.1 修改爲 Server=192.168.72.130 //定義監控服務端的ip(被動模式)

ServerActive=127.0.0.1 修改爲 ServerActive=192.168.72.130 //定義監控服務端的ip(主動模式:客戶端主動上報自己的狀態給server端)

Hostname=Zabbix server修改爲Hostname=xavi-002 //這是自定義的主機名,一個是讓自己容易分別監控的是哪臺主機,第二個是服務器可以識別

mark

4.3 啓動服務並查看zabbix進程以及端口

[root@xavi-002 ~]# vim /etc/zabbix/zabbix_agentd.conf 
[root@xavi-002 ~]# systemctl start zabbix-agent
[root@xavi-002 ~]# ps aux |grep zabbix
zabbix     8617  0.0  0.1  82732  1304 ?        S    19:51   0:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
zabbix     8618  0.0  0.1  82732  1320 ?        S    19:51   0:00 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
zabbix     8619  0.0  0.1  82732  1860 ?        S    19:51   0:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
zabbix     8620  0.0  0.1  82732  1860 ?        S    19:51   0:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
zabbix     8621  0.0  0.1  82732  1860 ?        S    19:51   0:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
zabbix     8622  0.0  0.2  82864  2240 ?        S    19:51   0:00 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
root       8625  0.0  0.0 112664   972 pts/0    R+   19:51   0:00 grep --color=auto zabbix

[root@xavi-002 ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1416/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      948/sshd            
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      941/cupsd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1415/master         
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      8617/zabbix_agentd  
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::22                   :::*                    LISTEN      948/sshd            
tcp6       0      0 ::1:631                 :::*                    LISTEN      941/cupsd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1415/master         
tcp6       0      0 :::10050                :::*                    LISTEN      8617/zabbix_agentd  

五、Zabbix忘記Admin密碼如何做

mark

mark

mark

mark

  • 這樣就可以登入新密碼了

mark

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章