1. 程式人生 > >linux環境下部署zabbix3.2、模板、郵件告警詳細過程

linux環境下部署zabbix3.2、模板、郵件告警詳細過程

-1 ice erer without zlib zip ever native item

服務端部署:

系統環境及軟件版本:

Linux:release 6.3

zabbix:zabbix-3.2.5.tar.gz

nginx:nginx-1.12.0.tar.gz

php:php-5.5.38.tar.gz

mysql:mysql-5.6.28.tar.gz

一、安裝nginx:

1、依賴包:

yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel

2、創建nginx用戶:

useradd www -s /sbin/nologin

3、安裝prce:

tar -zxvf pcre-7.8.tar.gz

cd pcre-7.8

make && make install

4、編譯安裝nginx1.12:

tar -zxvf nginx-1.12.0.tar.gz

屏蔽banner(/root/soft/nginx-1.12.0/src/core/nginx.h)

./configure --user=www --group=www --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-sha1=auto/lib/sha1 --with-pcre=/root/soft/pcre-7.8 --without-select_module --without-poll_module --without-http_ssi_module --without-http_userid_module --without-http_geo_module --without-http_map_module --without-http_memcached_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --prefix=/usr/local/nginx --with-http_ssl_module

make && make install

二、安裝php5.5

1、安裝依賴包:

yum install -y freetype* openldap*

tar -zxvf libmcrypt-2.5.7.tar.gz

cd libmcrypt-2.5.7

./configure

make && make install

2、修改配置文件:

cp -frp /usr/lib64/libldap* /usr/lib/

vi /etc/ld.so.conf

/usr/local/lib(增加這一行)

ldconfig

三、安裝php:

tar -zxvf php-5.5.38.tar.gz

cd php-5.5.38

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-gd --enable-gd-native-ttf --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap -without-pear --with-gettext

make

make install

cp php.ini-production /usr/local/php/etc/php.ini

cd /usr/local/php/

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

4、修改php.ini參數:(zabbix環境需要修改的參數)

max_execution_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone = PRC

5、啟動php:

/usr/local/php/sbin/php-fpm

四、安裝MySQL5.6

1、安裝依賴包:

yum install make bison g++ build-essential libncurses5* cmake ncurses*

2、創建相關用戶和文件:

groupadd mysql

useradd -g mysql mysql -s /sbin/nologin

mkdir -p /usr/local/mysql

mkdir -p /usr/local/mysql/data

mkdir -p /usr/local/mysql/log

chown -R mysql:mysql /usr/local/mysql

3、安裝MySQL:

tar -zxvf mysql-5.6.28.tar.gz

cd mysql-5.6.28

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

make -j4 && make install

4、設置開機自啟動和初始化mysql

chmod +w /usr/local/mysql

cp /root/soft/mysql-5.6.28/support-files/mysql.server /etc/init.d/mysqld

chmod 755 /etc/init.d/mysqld

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

ln -s /usr/local/mysql/bin/mysql /usr/bin

ln -s /usr/local/mysql/bin/mysqladmin /usr/bin

/usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

vi /etc/my.cnf

5、啟動MySQL:

servier mysqld start

6、設置數據庫root密碼:

mysqladmin -u root password

7、登錄數據庫:

mysql -uroot -p

8、創建zabbix數據庫:

create database zabbix default charset utf8;

9、創建zabbix數據庫用戶和密碼:

grant all privileges on zabbix.* to [email protected] identified by ‘123456‘;

flush privileges;

五、安裝zabbix server:

1、安裝依賴包

yum install net-snmp net-snmp-devel -y

2、安裝zabbix

tar -zxvf zabbix-3.2.5.tar.gz

cd zabbix-3.2.5

./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2 make && make install

groupadd zabbix

useradd zabbix -g zabbix -s /sbin/nologin

3、導入數據

cd /root/soft/zabbix-3.2.5/database/mysql

mysql -uroot -p zabbix < schema.sql

mysql -uroot -p zabbix < images.sql

mysql -uroot -p zabbix < data.sql

4、創建zabbix數據目錄

mkdir -p /data/zabbix

cp -rp /root/soft/zabbix-3.2.5/frontends/php/* /data/zabbix/

六、配置nginx虛擬主機

mkdir /usr/local/nginx/conf/vhost

vi /usr/local/nginx/conf/vhost/zabbix.conf

server {

listen 8027;

server_name 192.168.109.132;

access_log /data/zabbix_log/zabbix.log main;

index index.html index.php index.html;

root /data/zabbix;

location /{

try_files $uri $uri/ /index.php?$args;

}

location ~ ^(.+.php)(.*)$ {

fastcgi_split_path_info ^(.+.php)(.*)$;

include fastcgi.conf;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param PATH_INFO $fastcgi_path_info;

}

}

vi /usr/local/conf/nginx.conf

user www;

worker_processes 1;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘

‘$status $body_bytes_sent "$http_referer" ‘

‘"$http_user_agent" "$http_x_forwarded_for"‘;

access_log logs/access.log main;

sendfile on;

keepalive_timeout 65;

server {

listen 80;

server_name localhost;

location / {

root html;

index index.html index.htm;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}

include vhost/*.conf;

}

七、編輯zabbix_server.conf文件並啟動zabbix

1、配置zabbix_server.conf文件

vi /usr/local/zabbix/etc/zabbix_server.conf

LogFile=/usr/local/zabbix/log/zabbix_server.log

PidFile=/usr/local/zabbix/zabbix_server.pid

DBHost=192.168.109.132

DBName=zabbix

DBUser=zabbix

DBPassword=123456

Timeout=4

2、啟動zabbix

chown -R zabbix:zabbix /usr/local、zabbix

/usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf

3、將服務加入開機自啟動:

echo "/usr/local/nginx/sbin/nginx" >>/etc/rc.local

echo "/usr/local/php/sbin/php-fpm" >>/etc/rc.local

echo "/etc/init.d/mysqld start" >>/etc/rc.local

echo "/usr/local/zabbix-3.0.3/sbin/zabbix_server" >>/etc/rc.local

八、配置web:

瀏覽器登錄:http://192.168.109.132:8027/

以下圖片截至Internet

技術分享

技術分享

技術分享

Database host視情況而定

技術分享

技術分享

技術分享

點擊“Download the configuration file”下載配置文件

並上傳至/data/zabbix/conf

技術分享

zabbix默認登錄賬號密碼:

賬號:admin

密碼:zabbix

九、修改為中文字體顯示問題處理

顯示如下:

技術分享

解決辦法:

Win+R打開運行,輸入fonts,回車進入Windows字體目錄,找到微軟雅黑-常規字體,復制出來將文件名修改為msyh.ttf,註意後綴ttf。

將msyh.ttf上傳到服務器zabbix字體目錄中:

/data/zabbix/fonts(根據安裝目錄有所不同,查找辦法: find / -name fonts/etc/fonts)

修改配置文件:/data/zabbix/include/defines.inc.php的以下兩行

46:define(‘ZBX_GRAPH_FONT_NAME‘, ‘msyh‘); // font file name

95:define(‘ZBX_FONT_NAME‘, ‘msyh‘);

刷新頁面解決

客戶端部署:

系統環境及軟件版本:

Linux:release 6.3

zabbix_agent:zabbix_agents_3.0.0.linux2_6.amd64.tar.gz

一、部署腳本

vi install_zabbix.sh

#!/bin/bash

mkdir /data/zabbix -p

cd /data/zabbix

cp /root/soft/zabbix_agents_3.0.0.linux2_6.amd64.tar.gz ./

tar xzf zabbix_agents_3.0.0.linux2_6.amd64.tar.gz

host=`ifconfig |grep "Bcast"|grep -oP ‘(?<=inet\ addr\:)[^\ ]+‘`

sed "s/Server=127.0.0.1/Server=192.168.109.132/g" -i /data/zabbix/conf/zabbix_agentd.conf

sed "s/ServerActive=127.0.0.1/ServerActive=192.168.109.132/g" -i /data/zabbix/conf/zabbix_agentd.conf

sed "s/Hostname=Zabbix server/Hostname=$host/g" -i /data/zabbix/conf/zabbix_agentd.conf

sed "s/\# HostMetadata=/HostMetadata=mail/g" -i /data/zabbix/conf/zabbix_agentd.conf

useradd zabbix -u 1001 -s /sbin/nologin

chown -R zabbix:zabbix /data/zabbix

echo "/data/zabbix/sbin/zabbix_agentd -c /data/zabbix/conf/zabbix_agentd.conf" >>/etc/rc.local

/data/zabbix/sbin/zabbix_agentd -c /data/zabbix/conf/zabbix_agentd.conf

ifconfig

sleep 20

netstat -ntdlp

zabbix3.2自定義模板應用

一、創建自定義模板

配置-->模板-->創建模板

技術分享

二、在被監控端定義KEY和腳本

被監控端IP:192.168.109.133

vi /data/zabbix/script/check_mysql.sh

#!/bin/bash

aa=`ps -ef|grep mysql|grep pid|wc -l` #aa的值不同應用環境不一樣

echo $aa

chown zabbix:zabbix -R /data/zabbix/script/

三、在被監控端開始定義KEY的使用

vi /data/zabbix/conf/zabbix_agentd.conf

UnsafeUserParameters=1 #開啟定義KEY的參數

UserParameter=check.mysql,/data/zabbix/script/check_mysql.sh

說明:key值為check.mysql,server應用腳本為/data/zabbix/script/check_mysql.sh

#語法為:UserParameter=KEY, <腳本/命令> 腳本或者命令都可以,以上應用是腳本

四、重啟被監控端的agent服務

pkill -9 zabbix

/data/zabbix/sbin/zabbix_agentd -c /data/zabbix/conf/zabbix_agentd.conf

五、到zabbix server端命令測試是否正確

zabbix_server:192.168.109.132

/usr/local/zabbix/bin/zabbix_get -s 192.168.109.133 -p 10050 -k "check.mysql"

六、回到WEB界面定義模板和添加應用集

Web界面URL:http://192.168.109.132:8027

1、創建一個名為mysql的應用集

配置-->模板-->應用集-->創建應用集

技術分享

七、為應用集添加一個監控項目

配置-->模板-->應用集-->監控項-->創建監控項

技術分享

技術分享

八、添加觸發器

配置-->模板-->觸發器-->創建觸發器

技術分享

技術分享

九、添加自定義模板

配置-->主機-->選擇添加的主機-->模板

zabbix3.2定義郵件報警

一、修改zabbix server的主機名和hosts

hostname zabbix.liyj.com

vi /etc/hosts

127.0.0.1 zabbix.liyj.com localhost.localdomain localhost

vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=zabbix.liyj.com

二、安裝sendmail

yum -y install sendmail

三、修改mail access

vi /etc/mail/access

Connect:localhost.localdomain RELAY

Connect:localhost RELAY

Connect:127.0.0.1 RELAY

Connetct:zabbix.liyj.com

四、修改mail hostname

vi /etc/mail/local-host-names

zabbix.liyj.com

五、啟動sendmail,並測試

service sendmail start

telnet 127.0.0.1 25

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is ‘^]‘.

220 zabbix.alvin.com ESMTP Postfix

六、創建告警媒介

管理-->報警媒介類型-->創建媒體類型

技術分享

七、創建一個告警動作

配置-->動作-->創建動作

技術分享

技術分享

技術分享

操作默認信息:

默認接收人:

故障{TRIGGER.STATUS},服務器:{HOSTNAME1}發生: {TRIGGER.NAME}故障!

默認信息:

告警主機:{HOSTNAME1}

告警時間:{EVENT.DATE} {EVENT.TIME}

告警等級:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警項目:{TRIGGER.KEY1}

問題詳情:{ITEM.NAME}:{ITEM.VALUE}

當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

恢復操作默認信息:

默認接收人:

恢復{TRIGGER.STATUS}, 服務器:{HOSTNAME1}: {TRIGGER.NAME}已恢復!

默認信息:

告警主機:{HOSTNAME1}

告警時間:{EVENT.DATE} {EVENT.TIME}

告警等級:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警項目:{TRIGGER.KEY1}

問題詳情:{ITEM.NAME}:{ITEM.VALUE}

當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

八、設置接收報警信息用戶和報警級別

管理-->用戶-->選擇一個用戶-->報警媒介

技術分享

註意:在收件人郵箱把[email protected]設置為白名單

九、測試

ssh 192.168.109.133

service mysqld stop

service mysqld start

檢查收件箱:

技術分享

技術分享

linux環境下部署zabbix3.2、模板、郵件告警詳細過程