1. 程式人生 > >Zabbix 學習安裝

Zabbix 學習安裝

環境:redhat 7.2
mysql 5.7.18
nginx-1.6.3
源:http://nginx.org/en/download.html
php-5.5.38.tar.gz
zabbix-3.2.10.tar.gz

#wget http://mirrors.hust.edu.cn/epel/6/x86_64/Packages/l/libmcrypt-2.5.8-9.el6.x86_64.rpm
#wget http://mirrors.hust.edu.cn/epel/6/x86_64/Packages/l/libmcrypt-devel-2.5.8-9.el6.x86_64.rpm

安裝包存放路徑:
#pwd
/lamp

1,NGINX 安裝配置
#yum install pcre pcre-devel openssl openssl-devel -y
#tar -zxvf nginx-1.6.3.tar.gz
#useradd nginx -s /sbin/nologin -M
#cd nginx-1.6.3
#./configure --user=nginx --group=nginx --prefix=/application/nginx-1.6.3 --with-http_stub_status_module --with-http_ssl_module
#make && make install
#ln -s /application/nginx-1.6.3 /application/nginx
啟動nginx
#/application/nginx/sbin/nginx
配置nginx
#cp /application/nginx/conf/nginx.conf.default /application/nginx/conf/nginx.conf
#vim /application/nginx/conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ .(php|php5)?$ {
root /application/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

fastcgi_param SCRIPT_FILENAME /application/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
}
}
啟動 nginx
#/application/nginx/sbin/nginx

2, PHP 安裝配置
源:http://cn.php.net/distributions/php-5.5.38.tar.gz
#rpm -ivh libmcrypt-2.5.8-9.el6.x86_64.rpm
#rpm -ivh libmcrypt-devel-2.5.8-9.el6.x86_64.rpm
資料庫中的一個指向
#locate mysqlclient.so.20 /usr/lib/
#ln -s /data/mysql/installdir/lib/libmysqlclient.so.20 /usr/lib/
#tar zxvf php-5.5.38.tar.gz
#cd php-5.5.38/
#./configure
–prefix=/application/php5.5.30
–with-mysql=mysqlnd
–with-mysqli=mysqlnd
–with-pdo-mysql=mysqlnd
–with-iconv-dir=/usr/local
–with-freetype-dir
–with-jpeg-dir
–with-png-dir
–with-zlib
–with-libxml-dir=lib64
–with-libxml-dir=/usr/local
–with-gettext
–enable-xml
–disable-rpath
–enable-bcmath
–enable-shmop
–enable-sysvsem
–enable-inline-optimization
–with-curl
–enable-mbregex
–enable-fpm
–enable-mbstring
–with-mcrypt
–with-gd
–enable-gd-native-ttf
–with-openssl
–with-mhash
–enable-pcntl
–enable-sockets
–with-xmlrpc
–enable-soap
–enable-short-tags
–enable-static
–with-xsl
–with-fpm-user=nginx
–with-fpm-group=nginx
–enable-ftp
–enable-opcache=no

xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
yum -y install libxslt libxslt-devel

configure: error: jpeglib.h not found.
yum -y install libjpeg-devel

error: Please reinstall the libcurl distribution -
easy.h should be in /include/curl/
yum -y install curl-devel

#make && make install
#make test

#ln -s /application/php5.5.30/ /application/php
在源包解壓檔案內
#cp php.ini-production /application/php/lib/php.ini

#cd /application/php/etc/

#cp php-fpm.conf.default php-fpm.conf

#/application/php5.5.30/sbin/php-fpm

修改php.ini

#/application/php/lib/php.ini

post_max_size 16M
max_execution_time 300
max_input_time 300
timezone Asia/Shanghai

重啟方法php 服務
#killall php-fpm
#/application/php5.5.30/sbin/php-fpm
#ln -s /application/php/bin/php /usr/bin/php

安裝ZABBIX3.0完全安裝
#yum install mysql-devel net-snmp-devel curl curl-devel -y
#groupadd zabbix
#useradd -g zabbix zabbix
#tar zxvf zabbix-3.2.10.tar.gz
#cd zabbix-3.2.10
#./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

zabbix 客戶端安裝
#./configure --prefix=/usr/local/zabbix --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
―prefix=/usr/local/zabbix為指定安裝目錄為/usr/local/zabbix
―enable-server為安裝zabbix服務端程式
―enable-agent為安裝agent程式
―with-mysql為使用mysql資料庫
―enable-ipv6為啟用ipv6支援
―with-net-snmp為啟用snmp支援
―with-libcurl為啟用curl
―with-libxml2編譯xml模組,主要用於監控vm虛擬機器

#make && make install
切換到zabbix 的模板中的mysql包,在zabbix源安裝包
#cd /lamp/zabbix-3.2.10/database/mysql
在zabbix 中增加mysql賬號
#mysql -uroot -p
mysql>create database zabbix character set utf8;
mysql>GRANT USAGE ON . TO ‘zabbix’@‘localhost’ IDENTIFIED BY ‘zabbix’ WITH GRANT OPTION;
mysql>grant all on zabbix.* to ‘zabbix’@‘localhost’ identified by ‘zabbix’ with grant option;
mysql>flush privileges;
mysql>use zabbix
mysql>source schema.sql #匯入指令碼檔案到zabbix資料庫
msyql>source images.sql
msyql>source data.sql
或者
#mysql -uroot -p zabbix <./schema.sql

配置zabbix配置檔案
#vim /usr/local/zabbix/etc/zabbix_server.conf
DBName=zabbix #資料庫名稱
DBUser=zabbix #資料庫使用者名稱
DBPassword=zabbix #資料庫密碼
ListenIP=127.0.0.1 #資料庫ip地址

#cd /usr/local/zabbix/sbin/
#cp zabbix_server /etc/rc.d/init.d/zabbix_server
#cp zabbix_agentd /etc/rc.d/init.d/zabbix_agentd
#/usr/local/zabbix/sbin/zabbix_server
#/usr/local/zabbix/sbin/zabbix_agentd
原始檔模板
#cd /lamp/zabbix-3.2.10/frontends
#cp -rf php /application/nginx/html/zabbix
#chmod -R 777 /application

替換字型
/application/nginx-1.6.3/html/zabbix/fonts

如果遇到403 的錯誤,則重啟伺服器。
注意/etc/hosts檔案的配置exit
否則進入zabbix 配置資料頁面的時候,填寫localhost 名稱沒用,需要填寫127.0.0.1,或者主機名稱

MysqL 資料庫的監控

Percona 的安裝(客戶端)
包含:zabbix客戶端的配置,Percona 的安裝,PHP 的安裝,模板的匯入,
zabbix 客戶端安裝的配置
vim /usr/local/zabbix/etc/zabbix_agentd.conf
Server=(zabbix 伺服器IP)

#ServerActive
#Hostname
HostnameItem=system.hostname
[[email protected] zabbix_agentd.d]# grep “1” /usr/local/zabbix/etc/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=10.60.7.152
ListenPort=10050
ListenIP=0.0.0.0
HostnameItem=system.hostname
HostMetadata=centos-mysql-active
User=zabbix
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

檢查 /usr/local/zabbix/etc/zabbix_agentd.conf.d/ 是否有*.conf檔案

儲存
啟動zabbix
/usr/local/zabbix/sbin/zabbix_agentd

Percona
#rpm -ivh https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.7/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.7-2.noarch.rpm
#chown -R zabbix.zabbix /var/lib/zabbix/percona/
#mkdir -p /var/lib/mysql
#ln -s /data/mysql/datadir/3306/data/mysql.sock /var/lib/mysql/mysql.sock
#cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
#cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/
#/usr/local/zabbix/sbin/zabbix_agentd
#vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
注意:此配置文辦中是否有$mysql_socket 這一項,有的話需要進行對映
$mysql_socket = ‘/usr/local/mysql/mysql.sock’;
ln -s /data/mysql/datadir/3306/data/mysql.sock /usr/local/mysql/mysql.sock
$mysql_user = ‘root’;
$mysql_pass = ‘[email protected]’;
#sed -i ‘s#HOST=localhost#HOST=127.0.0.1#g’ /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
#/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
檢視是否有數字得出
#/usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --items gg
#/usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host 127.0.0.1 --items gg

/usr/bin/php -q $DIR/ss_get_mysql_stats.php --host $HOST --items gg

問題的解決辦法:Received value [ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)0] is not suitable for value type [Numeric (unsigned)] and data type [Decimal]
mysql>grant replication slave,replication client on . to ‘root’@‘127.0.0.1’ identified by ‘[email protected]’;
mysql>grant replication slave,replication client on . to ‘root’@‘localhost’ identified by ‘cy[email protected]’;

ZAbbix服務端匯入模板,並關聯主機
wget http://fj.xuliangwei.com/zabbix/zabbix_xml/percona_mysql_status.xml
下載模板,然後匯入

在客戶端執行如下命令
#cd /tmp
#chown -R zabbix.zabbix localhost-mysql_cacti_stats.txt
#chown -R zabbix.zabbix 127.0.0.1-mysql_cacti_stats.txt
#chmod -R 777 127.0.0.1-mysql_cacti_stats.txt
#chmod -R 777 localhost-mysql_cacti_stats.txt

在伺服器資料庫上增加value_type 欄位的大小
mysql

use zabbix;
alter table items modify column value_type int(30) unsigned;
flush tables;

zabbix 問題的解決方式

Received value [/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh:行35: /usr/bin/php: 沒有那個檔案或目錄ERROR: run the command manually to investigate the problem: /usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host 127.0.0.1 --items gg] is not suitable for value type [Numeric (float)]

alter table items modify column value_type int(30) unsigned;
ln -s /application/php/bin/php /usr/bin/php

解決辦法如上

chown -R zabbix.zabbix localhost-mysql_cacti_stats.txt
chmod -R 777 127.0.0.1-mysql_cacti_stats.txt

以下任意選擇:
yum install https://www.percona.com/downloads/percona-monitoring-plugins/1.1.6/percona-zabbix-templates-1.1.6-1.noarch.rpm
rpm -ivh https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.7/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.7-2.noarch.rpm

yum 倉庫,用來下載percona-release-0.1-6.noarch.rpm的
yum install https://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-6.noarch.rpm

php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host 127.0.0.1 --items gg

/usr/bin/php -q $DIR/ss_get_mysql_stats.php --host $HOST --items gg

wget http://fj.xuliangwei.com/zabbix/zabbix_xml/percona_mysql_status.xm

Received value [ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)0] is not suitable for value type [Numeric (unsigned)] and data type [Decimal]

RES=`HOME=~zabbix mysql -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`

percona-release-0.1-6.noarch
percona-zabbix-templates-1.1.7-2.noarch


  1. a-Z ↩︎