Linux监控平台 zabbix介绍和安装
2019獨角獸企業重金招聘Python工程師標準>>>
12月24日任務
19.1 Linux監控平臺介紹
19.2 zabbix監控介紹
19.3/19.4/19.6 安裝zabbix
19.5 忘記Admin密碼如何做
?
Linux監控平臺介紹
監控對于一個企業而言是非常重要的,尤其對一些比較重要的業務,監控可以在問題出現之初就被發現,能夠及時修復,較少損失。
創建的開源監控軟件有:cacti、nagios、zabbix、smokeping、open-falcon等。
cacti、smokeping偏向于基礎監控,圖形化顯示非常漂亮。
cacti、zabbix支持web界面進行管理、控制,zabbix在這方面做得很好,配置簡單;相對而言nagios需要修改配置文件等,步驟繁瑣。cacti、nagios、zabbix服務端監控中心,需要php環境支持,其中zabbix和cacti都需要mysql作為數據存儲,nagios不用存儲歷史數據,注意服務或者監控項的狀態,zabbix會時刻獲取服務或者監控項目的數據,并將數據記錄到數據庫里,從而可以出圖。
open-falcon是小米公司開發的,開源后受到諸多大公司和運維工程師的追捧,適合大公司,國內的很多大公司如滴滴、360、新浪微博、京東等大公司都在使用這款軟件,值得研究。
zabbix監控介紹
C/S架構,基于c++開發,監控中心支持web界面配置和管理。
單server節點可以支持上萬臺客戶端,并發高,其瓶頸在于數據采集的量,當服務器的規模達到一定程度后,就需要添加一些代理。
最新版本3.4,官方文檔?https://www.zabbix.com/manuals
zabbix包括5個組件:
-
zabbix-server 監控中心,接收客戶端上報信息,負責配置、統計、操作數據。
-
web UI 在web界面下操作配置,這也是zabbix簡單易用的主要原因。
-
zabbix-proxy 可選組件,可以代替zabbix-server的功能,減輕server的壓力。
-
zabbix-agent 客戶端軟件,負責采集各個監控服務或項目的數據,并上報。
監控流程如下:
安裝zabbix
可以使用yum安裝zabbix,epel倉庫的zabbix較老,這里推薦使用新版本所對應的yum倉庫來安裝新版本。到http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/目錄下找到zabbix-release-3.2-1.el7.noarch.rpm包,使用rpm命令安裝即可。(可以根據需要安裝版本,上述的地址和包只要修改版本號即可)
服務器端
- 下載倉庫并安裝
- zabbix安裝
- 安裝、配置并啟動mysql
- 創建zabbix庫
- 導入zabbix的原始數據
- 啟動服務
客戶端
- 下載倉庫并安裝
- 安裝zabbix-agent
- 修改配置文件
- 啟動zabbix-agent
zabbix-server的端口號默認為10051,zabbix-agent的默認端口號為10050
zabbix啟動不正常的解決
查看日志,發現mysql無法連接
[root@test1 ~]# tail /var/log/zabbix/zabbix_server.log2978:20180120:154842.481 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) ...編輯配置文件
[root@server ~]# vim /etc/zabbix/zabbix_server.conf # mysql> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'zabbix'; DBHost=127.0.0.1 //對應zabbix數據庫和用戶創建時的ip DBPassword=zabbix //對應zabbix數據庫和用戶創建時的密碼# 實際生產環境下,為了服務器的性能優化,mysql可能會裝在其他服務器上,這時上述Host修改為實際mysql服務器的ip即可。重啟zabbix服務
[root@server ~]# systemctl restart zabbix-server查看是否正常啟動
[root@server ~]# 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 0.0.0.0:22 0.0.0.0:* LISTEN 1840/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2107/master tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 3012/zabbix_server tcp6 0 0 :::3306 :::* LISTEN 2064/mysqld tcp6 0 0 :::111 :::* LISTEN 1/systemd tcp6 0 0 :::80 :::* LISTEN 2986/httpd tcp6 0 0 :::22 :::* LISTEN 1840/sshd tcp6 0 0 ::1:25 :::* LISTEN 2107/master tcp6 0 0 :::10051 :::* LISTEN 3012/zabbix_server [root@server ~]# ps aux |grep zabbix zabbix 3012 0.6 0.4 256256 4116 ? S 15:53 0:00 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf zabbix 3015 0.0 0.2 256256 2464 ? S 15:53 0:00 /usr/sbin/zabbix_server: configuration syncer [waiting 60 sec for processes] zabbix 3016 0.0 0.2 256256 2672 ? S 15:53 0:00 /usr/sbin/zabbix_server: db watchdog [synced alerts config in 0.021593 sec, idle 60 sec] zabbix 3017 0.6 0.5 363200 5188 ? S 15:53 0:00 /usr/sbin/zabbix_server: poller #1 [got 0 values in 0.000006 sec, idle 5 sec] zabbix 3018 0.6 0.5 363200 5188 ? S 15:53 0:00 /usr/sbin/zabbix_server: poller #2 [got 0 values in 0.000008 sec, idle 5 sec] zabbix 3019 0.4 0.5 363200 5188 ? S 15:53 0:00 /usr/sbin/zabbix_server: poller #3 [got 0 values in 0.000004 sec, idle 5 sec] zabbix 3020 0.4 0.5 363200 5188 ? S 15:53 0:00 /usr/sbin/zabbix_server: poller #4 [got 0 values in 0.000012 sec, idle 5 sec] zabbix 3021 0.4 0.5 363200 5188 ? S 15:53 0:00 /usr/sbin/zabbix_server: poller #5 [got 0 values in 0.000017 sec, idle 5 sec] zabbix 3022 0.4 0.5 363200 5188 ? S 15:53 0:00 /usr/sbin/zabbix_server: unreachable poller #1 [got 0 values in 0.000013 sec, idle 5 sec] zabbix 3023 0.0 0.3 256256 3576 ? S 15:53 0:00 /usr/sbin/zabbix_server: trapper #1 [processed data in 0.000000 sec, waiting for connection] zabbix 3024 0.0 0.3 256256 3576 ? S 15:53 0:00 /usr/sbin/zabbix_server: trapper #2 [processed data in 0.000000 sec, waiting for connection] zabbix 3025 0.0 0.3 256256 3576 ? S 15:53 0:00 /usr/sbin/zabbix_server: trapper #3 [processed data in 0.000000 sec, waiting for connection] zabbix 3027 0.0 0.3 256256 3576 ? S 15:53 0:00 /usr/sbin/zabbix_server: trapper #4 [processed data in 0.000000 sec, waiting for connection] zabbix 3028 0.0 0.3 256256 3576 ? S 15:53 0:00 /usr/sbin/zabbix_server: trapper #5 [processed data in 0.000000 sec, waiting for connection] zabbix 3029 0.1 0.2 258832 2604 ? S 15:53 0:00 /usr/sbin/zabbix_server: icmp pinger #1 [got 0 values in 0.000008 sec, idle 5 sec] zabbix 3032 0.0 0.2 256256 2680 ? S 15:53 0:00 /usr/sbin/zabbix_server: alerter [sent alerts: 0 success, 0 fail in 0.009433 sec, idle 30 sec] zabbix 3033 0.0 0.2 256256 2460 ? S 15:53 0:00 /usr/sbin/zabbix_server: housekeeper [startup idle for 30 minutes] zabbix 3034 0.0 0.2 256332 2908 ? S 15:53 0:00 /usr/sbin/zabbix_server: timer #1 [processed 0 triggers, 0 events in 0.000154 sec, 0 maintenances in 0.002947 sec, idle 30 sec] zabbix 3035 0.0 0.2 256256 2820 ? S 15:53 0:00 /usr/sbin/zabbix_server: http poller #1 [got 0 values in 0.000652 sec, idle 5 sec] zabbix 3039 0.4 0.5 360616 5024 ? S 15:53 0:00 /usr/sbin/zabbix_server: discoverer #1 [processed 0 rules in 0.049212 sec, idle 60 sec] zabbix 3040 0.0 0.2 256256 2804 ? S 15:53 0:00 /usr/sbin/zabbix_server: history syncer #1 [synced 0 items in 0.000007 sec, idle 1 sec] zabbix 3041 0.0 0.2 256256 2804 ? S 15:53 0:00 /usr/sbin/zabbix_server: history syncer #2 [synced 0 items in 0.000003 sec, idle 1 sec] zabbix 3042 0.0 0.2 256256 2804 ? S 15:53 0:00 /usr/sbin/zabbix_server: history syncer #3 [synced 0 items in 0.000002 sec, idle 1 sec] zabbix 3043 0.0 0.2 256256 2804 ? S 15:53 0:00 /usr/sbin/zabbix_server: history syncer #4 [synced 0 items in 0.000003 sec, idle 1 sec] zabbix 3048 0.0 0.3 256256 3760 ? S 15:53 0:00 /usr/sbin/zabbix_server: escalator #1 [processed 0 escalations in 0.001462 sec, idle 3 sec] zabbix 3049 0.0 0.3 256256 3756 ? S 15:53 0:00 /usr/sbin/zabbix_server: proxy poller #1 [exchanged data with 0 proxies in 0.000005 sec, idle 5 sec] zabbix 3050 0.0 0.2 256256 2572 ? S 15:53 0:00 /usr/sbin/zabbix_server: self-monitoring [processed data in 0.000008 sec, idle 1 sec] zabbix 3051 0.0 0.2 256256 2792 ? S 15:53 0:00 /usr/sbin/zabbix_server: task manager [processed 0 task(s) in 0.000485 sec, idle 5 sec] root 3064 0.0 0.0 112684 972 pts/0 S+ 15:54 0:00 grep --color=auto zabbix解決方法:關閉selinux
[root@client ~]# setenforce 0 [root@client ~]# systemctl restart zabbix-agent [root@client ~]# ps aux | grep zabbix-agent root 3447 0.0 0.0 112680 980 pts/0 R+ 14:55 0:00 grep --color=auto zabbix-agent [root@client ~]# ps aux | grep zabbix zabbix 3440 0.0 0.1 80608 1252 ? S 14:55 0:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf zabbix 3441 0.0 0.1 80608 1288 ? S 14:55 0:00 /usr/sbin/zabbix_agentd: collector [idle 1 sec] zabbix 3442 0.0 0.1 80608 1832 ? S 14:55 0:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection] zabbix 3443 0.0 0.1 80608 1836 ? S 14:55 0:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection] zabbix 3444 0.0 0.1 80608 1832 ? S 14:55 0:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection] zabbix 3445 0.0 0.2 80736 2188 ? S 14:55 0:00 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec] root 3449 0.0 0.0 112680 972 pts/0 R+ 14:55 0:00 grep --color=auto zabbix [root@client ~]# 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 0.0.0.0:22 0.0.0.0:* LISTEN 1321/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2145/master tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 3440/zabbix_agentd tcp6 0 0 :::3306 :::* LISTEN 2104/mysqld tcp6 0 0 :::111 :::* LISTEN 1/systemd tcp6 0 0 :::22 :::* LISTEN 1321/sshd tcp6 0 0 ::1:25 :::* LISTEN 2145/master tcp6 0 0 :::10050 :::* LISTEN 3440/zabbix_agentdzabbix web 初始化配置
修改php的配置的文件
[root@server ~]# vim /etc/php.ini 定位到timezone timezone = Asia/Shanghai# 修改后重啟httpd服務 [root@server ~]# systemctl restart httpd刷新頁面后查看
信息匯總
"Administration" --> "User" --> "Admin"
- 為了配置的方便,我們可以先修改語言為中文
點擊update按鍵,再次修改Adminy用戶信息界面就顯示為中文了!
- 修改用戶密碼
點擊修改密碼,將新密碼輸入2次后,點擊更新即可?
退出當前用戶,使用新密碼重新登錄,界面如下(當前未配置監控的主機,顯示的數據為空):
忘記Admin用戶密碼
如果忘記Admin的密碼,直接在mysql中的zabbix數據庫內更新密碼即可。
具體步驟如下:
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | | test1 | | zabbix | +--------------------+ 6 rows in set (0.04 sec)mysql> use zabbix; mysql> show tables; +----------------------------+ | Tables_in_zabbix | +----------------------------+ | acknowledges | | actions | | alerts | | application_discovery | | application_prototype |........ | trigger_discovery | | trigger_tag | | triggers | | users | | users_groups | | usrgrp | | valuemaps | +----------------------------+ 127 rows in set (0.01 sec)mysql> desc users; +----------------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------------+---------------------+------+-----+---------+-------+ | userid | bigint(20) unsigned | NO | PRI | NULL | | | alias | varchar(100) | NO | UNI | | | | name | varchar(100) | NO | | | | | surname | varchar(100) | NO | | | | | passwd | char(32) | NO | | | | | url | varchar(255) | NO | | | | | autologin | int(11) | NO | | 0 | | | autologout | int(11) | NO | | 900 | | | lang | varchar(5) | NO | | en_GB | | | refresh | int(11) | NO | | 30 | | | type | int(11) | NO | | 1 | | | theme | varchar(128) | NO | | default | | | attempt_failed | int(11) | NO | | 0 | | | attempt_ip | varchar(39) | NO | | | | | attempt_clock | int(11) | NO | | 0 | | | rows_per_page | int(11) | NO | | 50 | | +----------------+---------------------+------+-----+---------+-------+ 16 rows in set (0.00 sec)# 這里修改的是users表,修改密碼使用MD5加密,指定alaias為Admin mysql> update users set passwd=md5('zabbix') where alias='Admin';重新登錄網頁,使用新密碼登錄即可。
轉載于:https://my.oschina.net/u/3964535/blog/2992156
總結
以上是生活随笔為你收集整理的Linux监控平台 zabbix介绍和安装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 年度回顾:2018年的AI/ML惊喜及预
- 下一篇: Linux命令-chmod、chown和