zabbix纯内网环境监控服务器发送邮件报警
尊敬的各位大佬,亲爱的小白们,以及正在刚入门zabbix的精英们,你们好,本文章适读范围:
- 大佬:瞅一眼就行了。
- 小白:我去,这是啥有点看不太懂。
- 正在入门zabbix:这文章还可以,先存下来,说不定以后有用。
- 打酱油的:随手还是点个赞吧,精神上的支持,还是很重要的。
一、本章环境:
- Zabbix3.4.8服务器OS:Centos7.2x86_64
- 邮件服务器OS:Windows7x86_64
- 邮件客户端OS:Windows7x86_64
- zabbix客户端:OS:Centos7.2x86_64
二、搭建zabbix监控
搭建zabbix可以参考我的这篇文章:https://blog.csdn.net/qq_39591494/article/details/78983861 (此文章为3.2版本)本章使用zabbix3.4.8版本,由于版本不同的问题,在配置方面也会有不同之处,那么同时可以参考以下内网一键安装zabbix脚本来完成此搭建。
#!/bin/bash
#Data: Fri May 4 09:37:26 CST 2018
#Founder: <daasbank-yankai>
#describe: One button installation zabbix3.4.8
#Edition: V1
#OS: Centos7.2x86_64
. /etc/init.d/functions
MMM=`rpm -qa | grep mariadb`
Route=/usr/local/src
################################################################
#mount iamges!
################################################################
function MOUNT(){
rm -rf /etc/yum.repos.d/*
mount /usr/local/src/CentOS-7-x86_64-DVD-1511.iso /mnt
cat <<daasbank > /etc/yum.repos.d/aaa.repo
[aaa]
name=aaa
baseurl=file:///mnt
enabled=1
gpgcheck=0
daasbank
sleep 3
yum install -y make apr* autoconf automake curl-devel gcc gcc-c++ openssl openssl-devel perl compat* mpfr cpp glibc libgomp
sleep 3
yum install -y libstdc++-devel keyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel zlib-devel libXpm*
sleep 3
yum install -y freetype libjpeg* libpng* libtool* libxml2 libxml2-devel patch libcurl-devel bzip2-devel freetype-devel2
sleep 3
yum install -y freetype-devel net-snmp-devel freetype-devel net-snmp-devel net-snmp net-snmp-devel curl-devel
sleep 3
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel OpenIPMI-devel libssh2-devel
}
################################################################
#Install MySQL5.7.18
################################################################
function Mysql(){
if [ -n $MMM ];then
rpm -e mariadb-libs --nodeps 2&>/dev/null
else
echo "Mariadb error!!!"
return 1
fi
tar zxf $Route/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz && {
mv $Route/mysql-5.7.18-linux-glibc2.5-x86_64 /usr/local/mysql && \
cd /usr/local/mysql/ && mkdir data && mkdir log && echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
if [ "$?" -eq 0 ];then
source /etc/profile && groupadd mysql && useradd -r -g mysql -s /bin/false mysql
else
echo "Mysql error !!!"
return 1
fi
}
cat << daasbank-mysql > /etc/my.cnf
[client]
socket=/usr/local/mysql/mysql.sock
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
pid-file=/usr/local/mysql/data/mysqld.pid
socket=/usr/local/mysql/mysql.sock
log_error=/usr/local/mysql/log/mysql.err
daasbank-mysql
if [ -f /etc/my.cnf ];then
chmod 750 data/ && chown -R mysql . && chgrp -R mysql . && bin/mysqld --initialize --user=mysql && cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld && service mysqld start
else
echo "/etc/my.cnf error !!!"
return 1
fi
#######################################################################
#Mysql password install
#######################################################################
ln -s /usr/local/mysql/bin/mysql /usr/local/sbin
ln -s /usr/local/mysql/bin/mysqladmin /usr/local/sbin
PASS=`cat /usr/local/mysql/log/mysql.err | grep password | awk '{print $11}'`
mysqladmin -uroot -p${PASS} password 111111 &> /dev/null
if [ "$?" -eq 0 ];then
echo "Mysql password is ok!"
else
echo "Mysql password is not ok!!!"
return 1
fi
}
#######################################################################
#Install Nginx1.12.2
#######################################################################
function Nginx(){
cd $Route && {
tar zxf $Route/nginx-1.12.2.tar.gz && cd nginx-1.12.2/ && \
./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-http_ssl_module --with-http_gzip_static_module --user=nginx --group=nginx && make && make install
useradd -M -s /sbin/nologin nginx
}
if [ "$?" -eq 0 ];then
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin && /usr/local/nginx/sbin/nginx
else
echo "Nginx Install error!!!"
exit 1
fi
}
########################################################################
#Intsall LIB.so
########################################################################
function Lib(){
cd $Route && {