Linux監控平臺(zabbix監控介紹,安裝zabbix,解決忘記admin密碼)
常見開源監控軟件:cacti,nagios,zabbix,smokeping,open-falcon等等
cacti,smokeping偏向於基礎監控,成圖非常漂亮
cacti,nagios,zabbix服務端監控中心,需要php環境支持,其中zabbix和cacti需要MySQL作為數據儲存,
agios不用存儲歷史數據,他註重服務或監控項的狀態
zabbix會獲取服務或者監控項目的數據,會把數據記錄到數據庫中,從而可以成圖
open-falcon是小米公司開發的,開源後收到諸多大公司和運維工程師的追捧,適合大企業,滴滴,360,新郎微博,京東等大公司,這款監控軟件,值得研究
一、zabbix監控介紹
C/S架構,基於C++開發,監控中心需要PHP環境,支持web界面配置和管理
一臺server節點可以支持上萬臺客戶端,瓶頸在於采集數據的量的多少
zabbix更新速度還是較快的,說明他用戶量大
zabbix包括了5個組件
zabbix-server監控中心:接受客戶端上報信息,負責配置,統計,操作數據
數據存儲:存放數據,比如MySQL
web界面:也叫web UI ,在web界面下操作配置是zabbix簡單易用的主要原因
zabbix-proxy :可選組件,它可以代替zabbix-server的功能,減輕server的壓力
zabbix-agent:客戶端軟件,負責采集各個監控服務或項目的數據,並上報
zabbix監控流程圖
二、安裝zabbix,
準備兩臺主機:
zabbix服務端:192.168.100.101
zabbix客戶端:192.168.100.100
我們epl的yum倉庫裏存放的zabbix的版本較低,所以我們先搭建一個zabbix的yum倉庫,服務端和客戶端上都要做這個步驟。
[root@zhuji ~]# wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
[root@zhuji ~]# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
警告:zabbix-release-3.2-1.el7.noarch.rpm: 頭V4 RSA/SHA512 Signature, 密鑰 ID a14fe591: NOKEY
準備中... ################################# [100%]
正在升級/安裝...
1:zabbix-release-3.2-1.el7 ################################# [100%]
[root@zhuji ~]# ll /etc/yum.repos.d/zabbix.repo
-rw-r--r-- 1 root root 410 9月 14 2016 /etc/yum.repos.d/zabbix.repo
二、yum安裝zabbix
服務端:
[root@zhuji ~]# yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
zabbix-agent:zabbix客戶端軟件
zabbix-get:服務端的一個應用工具,通過命令行的形式,獲得客戶端的某些監控項目數據
zabbix-server-mysql:一些和mysql相關的文件
zabbix-web:web界面
zabbix-web-mysql:web還要和mysql打交道,一些MySQL和web的文件
server:
[root@congji ~]# yum install -y zabbix-agent
客戶端只需要安裝zabbix-agent就可以了
兩臺機子如果MySQL沒有安裝,參照之前lamp章節的安裝
刪除筆記修改筆記
三、兩臺機子都要啟動MySQL.修改MySQL的配置文件並重新啟動MySQL。
[root@congji ~]# vim /etc/my.cnf
character_set_server = utf8 (設置字符級,不設置的話,web界面設置中文可能會出現亂碼)
[root@congji ~]# systemctl restart mysql
四、在服務端的MySQL上創建zabbix的庫和用戶,用戶是需要php代碼連接mysql。
[root@zhuji mysql]# mysql -uroot -paminglinux
mysql> create database zabbix character set utf8;
mysql> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'aming-zabbix';
五、導入一些原始的數據,沒有這些數據,zabbix沒辦法工作。
[root@zhuji mysql]# cd /usr/share/doc/zabbix-server-mysql-***
[root@zhuji zabbix-server-mysql-3.2.11]# ls
AUTHORS ChangeLog COPYING create.sql.gz NEWS README
[root@zhuji zabbix-server-mysql-3.2.11]# gzip -d create.sql.gz (解壓gz文件)
[root@zhuji zabbix-server-mysql-3.2.11]# ls
AUTHORS ChangeLog COPYING create.sql NEWS README
[root@zhuji zabbix-server-mysql-3.2.11]# mysql -uroot -paminglinux zabbix < create.sql
六、啟動zabbix和httpd服務,再啟動httpd前,先看一下有沒有啟動nginx服務
[root@zhuji ~]# ps aux |grep nginx
root 3590 0.0 0.0 112680 976 pts/0 R+ 18:04 0:00 grep --color=auto nginx
[root@zhuji ~]# systemctl start zabbix-server
[root@zhuji ~]# systemctl start httpd
[root@zhuji ~]# systemctl enable httpd
[root@zhuji ~]# systemctl enable zabbix-server
七、我們啟動了zabbix,用ps發現進程在,但是用natstat查看,沒有zabbix的端口,是因為沒有連接MySQL,需要配置zabbix的配置文件
[root@zhuji ~]# ll /var/log/zabbix/zabbix_server.log (這是zabbix的日誌文件)
# DBHost=localhost
DBHost=127.0.0.1 (搜索DBHost,指定數據庫所在機器的IP,不是創建用戶時的來源ip)
默認DBname=zabbix (數據庫名字)
DBuser=zabbix (登錄數據庫的用戶名)
DBPassword=zabbix-aming (登錄數據庫的密碼)
[root@zhuji ~]# systemctl restart zabbix-server
[root@zhuji ~]# netstat -lntp |grep zabbix (默認監聽10051)
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 3713/zabbix_server
tcp6 0 0 :::10051 :::* LISTEN 3713/zabbix_server
八、配置web界面,直接訪問服務端主機名加zabbix。例如(192.168.52.101/zabbix)
(一)點next step
(二)我們發現只有這一行是錯誤的
PHP option "date.timezone" | unknown | Fail |
(三)改正時間錯誤,修改phh配置文件,重啟apache,刷新界面
[root@zhuji ~]# vim /etc/php.ini
date.timezone = Asia/Shanghai
[root@zhuji ~]# systemctl restart httpd
(四)繼續web界面的下一步(也就是MySQL的界面了)
port端口號:3360
密碼寫在數據庫中創建用戶的密碼。
如果現實sock文件不存在,則把用戶改成127.0.0.1
刪除筆記修改筆記
(五)定義zabbix server的界面
自定義Name
(六)web界面完成
八、登錄zabbix
(一)默認用戶為admin
默認登陸密碼為zabbix
(二)更改密碼
administration下有個user,找到admin用戶,點進去
有個change passwd,點進去修改為自己想要的密碼,順便更改語言,然後update
刷新界面,就是中文了
編輯客戶端zabbix的配置文件
[root@congji ~]# vim /etc/zabbix/zabbix_agentd.conf (主動被動一起開啟會比較好)
Server=192.168.52.101 (被動模式):等待服務端來取數據
ServerActive=192.168.52.101 (主動模式):主動上報數據
Hostname=congji (不能隨便寫,要寫能夠識別的主機名)
啟動服務查看監控的端口
[root@congji ~]# systemctl start zabbix-agent
[root@congji ~]# netstat -lntp |grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 3304/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 3304/zabbix_agentd
三、解決忘記admin密碼
忘記admin密碼如何做
在MySQL數據庫中使用命令行修改:
[root@zhuji ~]# mysql -uroot -p
mysql> use zabbix; (進入到zabbix數據庫中)
可以show tabls; 看一下裏面的表,都是和zabbix有關的,我們要用到users表更改密碼
mysql> desc users; (我們可以看一下uses表裏的,我們其實就是要更改passwd)
+----------------+---------------------+------+-----+---------+-------+
| 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.01 sec)
mysql> update users set passwd=md5('litongyao1') where alias='Admin'; (用md5的方式加密)
檢測用litongyao1登錄
Linux監控平臺(zabbix監控介紹,安裝zabbix,解決忘記admin密碼)