最近給公司搞了個zabbix平臺監測,不得不說,網上的文章太雜了
下面是我使用成功在centos7安裝zabbix 3.11.4的命令
1.1 安裝依賴包:
yum -y install wget net-snmp-devel OpenIPMI-devel httpd openssl-devel java lrzsz fping-devel libcurl-devel perl-DBI pcre-devel libxml2 libxml2-devel mysql-devel gcc php php-bcmath php-gd php-xml php-mbstring php-ldap php-mysql.x86_64 php-pear php-xmlrpc net-tools wget vim-enhanced
1.2 關閉防火墻:
# systemctl stop firewalld.service
# systemctl disable firewalld.service
需要關閉 selinux,一定要關閉這個,開啟selinux會引起一連串問題,甚至zabbix的discovery功能也不能正常使用
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
確認是否修改成功
# grep SELINUX /etc/selinux/config
然后重啟系統即可
# reboot
2.1 搭建lamp環境
在centos7上安裝zabbix server3.0之前,我們首先搭建zabbix所需要的lamp環境。
下載最新的yum源,如下:
# wget -P /etc/yum.repos.d http://mirrors.aliyun.com/repo/Centos-7.repo
在開始安裝之前,還需要說明下centos7自帶的mysql是mariadb,我們可以通過如下命令查看:
yum search mysql|tac
現在開始安裝lamp環境,使用如下命令:
yum -y install mariadb mariadb-server php php-mysql httpd
通過上圖,我們可以很明顯的看出centos7默認安裝的是php5.4、httpd2.4和maradb5.5,這個完全符合zabbix3.0對軟件版本的要求。
lamp安裝完畢后,我們現在來配置mysql數據庫。
設置開機自啟動mysql,并啟動mysql,使用如下命令:
[root@zabbix ~]# systemctl enable mariadb.service
[root@zabbix ~]# systemctl start mariadb.service
初始化mysql數據庫,并配置root用戶密碼。使用如下命令:
[root@zabbix ~]# mysql_secure_installation
注意:在上圖中的Enter current passwdord for root處,我們直接敲回車鍵即可。因為centos7上mysql的默認root用戶密碼為空。
上圖中主要是為root用戶配置密碼,并刷新相關權限。(密碼設為123456,只為實驗用,生產環境自定義)
Remove anonymous users? 刪除匿名用戶?
Disallow root login remotely? 禁止root遠程登陸
Remove test database and access to it? 刪除測試數據庫并且和訪問它
Reload privilege tables now? 重新載入特權表
上圖中主要是配置匿名用戶、test用戶以及root用戶遠程連接等相關配置。
mysql初始化完畢后,我們現在來創建zabbix數據庫及其用戶,使用如下命令:
[root@zabbix ~]# mysql -uroot -p123456 -e "create database zabbix default character set utf8 collate utf8_bin;"
[root@zabbix ~]# mysql -uroot -p123456 -e "grant all on zabbix.* to "zabbix"@"%" identified by "zabbix";"
現在來測試剛剛創建的zabbix用戶,是否可以連接mysql數據庫,如下:
[root@zabbix ~]# mysql -uzabbix -pzabbix
MariaDB [(none)]> show databases;
MariaDB [(none)]> quit
通過上圖,我們可以很明顯的看出zabbix用戶是可以正常連接數據庫的。
啟動apache以及開放80端口,如下:
[root@zabbix ~]# systemctl start httpd.service
[root@zabbix ~]# netstat -ltun
到此lamp環境已經全部搭建完畢。
瀏覽器輸入IP地址即可看到如下
2.2 服務器端安裝zabbix server3.0(zabbix server)
lamp環境搭建完畢后,我們現在開始正式安裝zabbix3.0。
安裝zabbix3.0所需要EPEL源和zabbix的yum源,如下:
#rpm -ivh https://mirrors.aliyun.com/centos/6.9/extras/x86_64/Packages/epel-release-6-8.noarch.rpm
#rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
以上安裝完畢后,我們現在來正式安裝zabbix3.0,使用如下命令:
[root@zabbix ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-get
通過上圖,我們可以很明顯的看出目前zabbix server是3.0.5版本的。
以上安裝完畢后,我們現在開始進行zabbix的相關配置。
導入zabbix數據庫結構,如下:
[root@zabbix ~]# cd /usr/share/doc/zabbix-server-mysql-3.0.5/
[root@zabbix zabbix-server-mysql-3.0.5]# zcat create.sql.gz | mysql -uroot -pDe123456 zabbix
數據庫導入完畢后,我們現在來修改zabbix sever的配置文件,如下:(我們只需要關注 DBHost、DBName、DBUser、
DBPassword 幾項即可。這幾項是配置zabbix server連接mysql數據庫的參數。)
[root@zabbix ~]# vi /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
以上修改完畢后,我們再來修改下zabbix.conf文件。如下:
vi /etc/httpd/conf.d/zabbix.conf
Alias /zabbix /usr/share/zabbix
Options FollowSymLinks
AllowOverride None
Require all granted
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai
修改最后一項php_value date.timezone Asia/Shanghai 就行,定義php的時區
以上修改完畢后,我們把把zabbix-server加入開機啟動,并啟動zabbix-server,如下:
[root@zabbix ~]# systemctl start zabbix-server.service
[root@zabbix ~]# systemctl enable zabbix-server.service
最后重啟apache,如下:
[root@zabbix ~]# systemctl restart httpd.service
3.1配置zabbix
登錄http://ip/zabbix/setup.php(ip就是你服務器的IP地址)
一開始會有要輸入密碼的時候,如下
輸入之前設置的數據庫密碼即可
接下來,很重要!
一路next。。。
然后就點登錄 默認用戶名是Admin 密碼 zabbix 然后點擊sign in
zabbix server端就設置完畢
4.1 配置客戶端安裝zabbix agent(被監測的服務器)
zabbix agent的安裝比較簡單,我們只需要安裝相應的倉庫,然后執行安裝命令即可。
[root@zabbix ~]# yum clean all
[root@zabbix ~]# yum -y install zabbix zabbix-agent
在安裝時如出現如上圖所示錯誤,原因是軟件這兩個版本不一致,仔細觀察發現這兩個軟件包使用了不同的倉庫,把epel的關閉(enabled=0,位于/etc/yum.repos.d/epel.repo)再重裝
4.2 配置zabbix agent
zabbix agent的配置很簡單,只需要修改zabbix agent配置文件中的Server、ServerActive和Hostname這三項即可。
其中Server、ServerActive是zabbix server服務器的IP地址,Hostname是被監控端的IP地址,如下:
[root@zabbix ~]# vi /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=127.0.0.1
Include=/etc/zabbix/zabbix_agentd.d/
以上配置完畢后,我們在zabbix web端添加該監控機器時,只需要把honst name與該配置文件中的hostname對應即可。如下:
Server=服務器ip地址
ServerActive=服務器ip地址
Hostname=客戶端ip地址
Server被動ServerActive主動
到此zabbix agent就已經安裝完畢。
啟動客戶端
[root@zabbix ~]# zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
[root@zabbix ~]# systemctl start zabbix-agent
[root@zabbix ~]# systemctl restart zabbix-agent
[root@zabbix ~]# systemctl enable zabbix-agent
然后在瀏覽器中根據下面的美圖設置
看到第四個了沒,ZBX綠了就成功了
點左上角的小人就能設置語言是中文
但是會遇到圖標坐標系沒有文字的問題如下
解決亂碼方法:
把Windows 系統中找到 C:\Windows\Fonts 中的楷體(常規)用winscp (百度一下)拷貝到linux根目錄
可以上傳到 linux 里面了,接下來把 SIMKAI.TTF 移動到 zabbix 安裝目錄的 fonts 目錄下
[root@zabbix ~]# mv SIMKAI.TTF /usr/share/zabbix/fonts/
可以直接按照下面的圖片設置,然后再看看,是不是搞定了