[toc]
#php
常見的有 cacti、nagios、zabbix、smokeping、open-falcon等等。java
cacti、smokeping偏向於基礎監控,成圖很是漂亮。mysql
cacti、nagios、zabbix服務端監控中心,須要php環境支持,其中zabbix和cacti都須要mysql做爲數據存儲,這幾款監控軟件均有web操做界面。linux
nagios不用存儲歷史數據,注重服務或者監控項的狀態。ios
zabbix會獲取服務或者監控項目的數據,會把數據記錄到數據庫裏,從而能夠成圖,能夠增長配置節點,增長具體的監控節點,能夠配置報警閾值等,因此爲何如此流行其緣由就在此,尤爲是咱們能夠很方面的使用鼠標就能夠完成一系列的操做,定義規則等。nginx
open-falcon爲小米公司開發,開源後受到諸多大公司和運維工程師的追捧,適合大企業,滴滴、360、新浪微博、京東等大公司在使用這款監控軟件,值得研究。web
C/S架構(被監控的server須要安裝監控軟件,既能夠主動鏈接客戶端,也能夠被動的讓客戶端推送本身的狀態),基於C++開發,監控中心支持web界面配置和管理。sql
單server節點能夠支持上萬臺客戶端(可支持同時上萬臺的server監控,併發量高,若是超過必定的量,性能可能會下降,可是咱們能夠增長Proxy代理點來充當監控服務器來減輕壓力)數據庫
[ ] zabbix-server 監控中心,接收客戶端上報信息,負責配置、統計、操做數據。bootstrap
[ ] 數據存儲 存放數據,好比mysql。
[ ] web界面 也叫web UI,在web界面下操做配置是zabbix簡單易用的主要緣由。
[ ] zabbix-proxy 可選組件,它能夠代替zabbix-server的功能,減輕server的壓力。
官方下載地址:
https://www.zabbix.com/download
[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
[root@xavi ~]# yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
# yum install -y mysql mysql-server mysql-devel # systemctl start mysqld # ps aux | grep mysql //若未啓動,可開啓
# systemctl start mysql 報錯 # less /data/mysql/xavilinux.err 查看錯誤日誌 # ls -l /data/mysql/ 查看MySQL下的文件權限 # chown -R mysql:mysql /data/mysql/ 複製後再次啓動
[root@xavi ~]# vim /etc/my.cnf character_set_server = utf8 若是不添加此值,後期zabbix的web界面改爲中文後會出現問題。
[root@xavi ~]# /etc/init.d/mysqld start Starting MySQL... SUCCESS!
(這個就相似於以前建立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)
[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.
若是以前有配置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.
[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
[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.
[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
[root@xavi ~]# vim /etc/zabbix/zabbix_server.conf //修改或增長 DBHost=127.0.0.1 //在DBName=zabbix上面增長 (在此寫的是本地的mysql,可是線上的環境通常都有指定的mysql地址) DBUser=zabbix DBPassword=xavi-zabbix //在DBuser下面增長,要和以前mysql配置的用戶密碼一致
# 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
在瀏覽器輸入
http://192.168.72.130/zabbix/
vim /etc/php.ini //搜索timezone配置便可 date.timezone = Asia/Shanghai
systemctl restart httpd
wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
yum install -y zabbix-agent
[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 //這是自定義的主機名,一個是讓本身容易分別監控的是哪臺主機,第二個是服務器能夠識別
[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