linux環境下部署zabbix3.2、模板、郵件告警詳細過程
服務端部署:
系統環境及軟件版本:
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、模板、郵件告警詳細過程