centos快速搭建lnmplamp+zabbix3.2监控系统

author author     2022-08-15     389

关键词:

centos 快速搭建lnmp、lamp+zabbix3.2监控系统

所安装版本mysql 5.6 php5.5 zabbix3.2

centos7 lnmp+zabbix3.2 脚本

#!/bin/bash
if [ $(rpm -qi mysql-community-release-el7-5.noarch | wc -l) -lt 2 ];then
rpm -Uvh http://repo.mysql.com//mysql-community-release-el7-5.noarch.rpm
if [ $? -ne 0  ];then
echo "mysql-release err"
exit 
fi
fi
yum install -y epel-release
if [ $? -ne 0  ];then
echo "epel-release err"
exit 
fi
if [ $(rpm -qi webtatic-release-7-3.noarch | wc -l) -lt 2 ];then
rpm -ivh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
if [ $? -ne 0  ];then
echo "webtatic-release err"
exit 
fi
fi
yum -y install openssl OpenIPMI-libs  unixODBC libaio   iksemel fping   net-snmp net-snmp-utils mysql mysql-server mysql-devel php55w php55w-gd php55w-xml php55w-mysql php55w-mbstring php55w-bcmath perl-DBI curl libcurl-devel  net-snmp-devel libssh2 libssh2-devel libxml2 libxml2-devel php55w-fpm nginx
if [ $? -ne 0  ];then
echo "yum install err"
exit 
fi
if [ $(rpm -qi zabbix-release-3.2-1.el7.noarch | wc -l) -lt 2 ];then
rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
if [ $? -ne 0  ];then
echo "zabbix-release err"
exit 
fi
fi
yum -y install wget zabbix-server-mysql zabbix-web-mysql  zabbix-agent zabbix-get zabbix-sender
if [ $? -ne 0  ];then
echo "zabbix install err"
exit 
fi
cat >> /etc/php.ini << EOF
soap.wsdl_cache_enabled=1
max_input_time = 600
max_execution_time = 300
date.timezone = Asia/Shanghai
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 1
EOF
sed -i "/symbolic-links=0/acharacter_set_server = utf8" /etc/my.cnf
cat > /etc/nginx/nginx.conf << EOF
user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/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  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}
EOF

cat > /etc/nginx/conf.d/default.conf  << EOF
server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /usr/share/zabbix;
            index  index.php index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ .php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ .php$ {
            root           /usr/share/zabbix;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
        location ~* ^.+.(jpg|jpeg|gif|png|bmp)$ {
            access_log  off;
            root        opencart;
            expires     30d;
                        break;
        }
}
EOF
/bin/systemctl restart  mysql.service
echo "create database zabbix character set utf8;" | mysql
echo "grant all privileges on zabbix.* to [email protected] identified by ‘zabbix‘;" | mysql
echo "grant all privileges on zabbix.* to [email protected]‘%‘ identified by ‘zabbix‘;" |mysql
cat >>/etc/services <<EOF
zabbix-agent 10050/tcp Zabbix Agent
zabbix-agent 10050/udp Zabbix Agent
zabbix-trapper 10051/tcp Zabbix Trapper
zabbix-trapper 10051/udp Zabbix Trapper
EOF
sed -i ‘s/^DBUser=.*$/DBUser=zabbix/g‘ /etc/zabbix/zabbix_server.conf
sed -i ‘s/^.*DBPassword=.*$/DBPassword=zabbix/g‘ /etc/zabbix/zabbix_server.conf
cd /usr/share/doc/zabbix-server-mysql-3.2.1
zcat create.sql.gz | mysql -uroot zabbix
cd /tmp
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
if [ $? -ne 0  ];then
echo "wget sendEmail err"
exit 
fi
tar xvzf sendEmail-v1.56.tar.gz
cp sendEmail-v1.56/sendEmail /usr/local/bin/
chmod +x /usr/local/bin/sendEmail
chown -R zabbix.zabbix  /usr/lib/zabbix/alertscripts
cat > /usr/lib/zabbix/alertscripts/SendEmail.sh << EOF
#!/bin/bash

LOGFILE="/tmp/Email.log"
:>"$LOGFILE"
exec 1>"$LOGFILE"
exec 2>&1

SMTP_server=‘$1‘    # SMTP服务器
username=‘$2‘     # 用户名
password=‘$3‘             # 密码
from_email_address=‘$4‘ # 发件人Email地址
to_email_address="$1"               # 收件人Email地址,zabbix传入的第一个参数
message_subject_utf8="$2"           # 邮件标题,zabbix传入的第二个参数
message_body_utf8="$3"              # 邮件内容,zabbix传入的第三个参数
 
# 转换邮件标题为GB2312,解决邮件标题含有中文,收到邮件显示乱码的问题。
message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_subject_utf8
EOF`
[ $? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8"
 
# 转换邮件内容为GB2312
message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_body_utf8
EOF`
[ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"
 
# 发送邮件
sendEmail=‘/usr/local/bin/sendEmail‘
set -x
$sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$message_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312
EOF
chmod +x /usr/lib/zabbix/alertscripts/SendEmail.sh
cd /usr/share/zabbix/fonts
mv graphfont.ttf graphfont.ttf.back
wget http://qkadownload.qkagame.com/msyh.ttf
if [ $? -ne 0  ];then
echo "wget msyh err"
exit 
fi
mv msyh.ttf graphfont.ttf
chmod 777 graphfont.ttf
systemctl start zabbix-server
systemctl start nginx.service
systemctl start php-fpm.service
systemctl start zabbix-agent
systemctl enable zabbix-server.service
systemctl enable zabbix-agent.service
systemctl enable nginx.service
systemctl enable php-fpm.service
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=10051/tcp
firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --reload

centos7 lamp+zabbix3.2 脚本

#/bin/bash
if [ $(rpm -qi mysql-community-release-el7-5.noarch | wc -l) -lt 2 ];then
rpm -Uvh http://repo.mysql.com//mysql-community-release-el7-5.noarch.rpm
if [ $? -ne 0  ];then
echo "mysql-release err"
exit 
fi
fi
yum install -y epel-release
if [ $? -ne 0  ];then
echo "epel-release err"
exit 
fi
if [ $(rpm -qi webtatic-release-7-3.noarch | wc -l) -lt 2 ];then
rpm -ivh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
if [ $? -ne 0  ];then
echo "webtatic-release err"
exit 
fi
fi
yum -y install openssl OpenIPMI-libs  unixODBC libaio   iksemel fping   net-snmp net-snmp-utils httpd mysql mysql-server mysql-devel php55w php55w-gd php55w-xml php55w-mysql php55w-mbstring php55w-bcmath perl-DBI curl libcurl-devel  net-snmp-devel libssh2 libssh2-devel libxml2 libxml2-devel
if [ $? -ne 0  ];then
echo "yum install err"
exit 
fi
if [ $(rpm -qi zabbix-release-3.2-1.el7.noarch | wc -l) -lt 2 ];then
rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
if [ $? -ne 0  ];then
echo "zabbix-release err"
exit 
fi
fi
yum -y install wget zabbix-server-mysql zabbix-web-mysql  zabbix-agent zabbix-get zabbix-sender
if [ $? -ne 0  ];then
echo "zabbix-install err"
exit 
fi
cat >> /etc/php.ini << EOF
soap.wsdl_cache_enabled=1
max_input_time = 600
max_execution_time = 300
date.timezone = Asia/Shanghai
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 1
EOF
sed -i "/symbolic-links=0/acharacter_set_server = utf8" /etc/my.cnf
cat >> /etc/httpd/conf.d/zabbix.conf << EOF
# Zabbix monitoring system php web frontend
#

Alias /zabbix /usr/share/zabbix

<Directory "/usr/share/zabbix">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<Directory "/usr/share/zabbix/conf">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix/api">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix/include">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix/include/classes">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>
EOF
/bin/systemctl restart  mysql.service
echo "create database zabbix character set utf8;" | mysql
echo "grant all privileges on zabbix.* to [email protected] identified by ‘zabbix‘;" | mysql
echo "grant all privileges on zabbix.* to [email protected]‘%‘ identified by ‘zabbix‘;" |mysql
cat >>/etc/services <<EOF
zabbix-agent 10050/tcp Zabbix Agent
zabbix-agent 10050/udp Zabbix Agent
zabbix-trapper 10051/tcp Zabbix Trapper
zabbix-trapper 10051/udp Zabbix Trapper
EOF
sed -i ‘s/^DBUser=.*$/DBUser=zabbix/g‘ /etc/zabbix/zabbix_server.conf
sed -i ‘s/^.*DBPassword=.*$/DBPassword=zabbix/g‘ /etc/zabbix/zabbix_server.conf
cd /usr/share/doc/zabbix-server-mysql-3.2.1
zcat create.sql.gz | mysql -uroot zabbix
cd /tmp
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
if [ $? -ne 0  ];then
echo "wget sendEmail err"
exit 
fi
tar xvzf sendEmail-v1.56.tar.gz
cp sendEmail-v1.56/sendEmail /usr/local/bin/
chmod +x /usr/local/bin/sendEmail
chown -R zabbix.zabbix  /usr/lib/zabbix/alertscripts
cat > /usr/lib/zabbix/alertscripts/SendEmail.sh << EOF
#!/bin/bash

LOGFILE="/tmp/Email.log"
:>"$LOGFILE"
exec 1>"$LOGFILE"
exec 2>&1

SMTP_server=‘$1‘    # SMTP服务器
username=‘$2‘     # 用户名
password=‘$3‘             # 密码
from_email_address=‘$4‘ # 发件人Email地址
to_email_address="$1"               # 收件人Email地址,zabbix传入的第一个参数
message_subject_utf8="$2"           # 邮件标题,zabbix传入的第二个参数
message_body_utf8="$3"              # 邮件内容,zabbix传入的第三个参数
 
# 转换邮件标题为GB2312,解决邮件标题含有中文,收到邮件显示乱码的问题。
message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_subject_utf8
EOF`
[ $? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8"
 
# 转换邮件内容为GB2312
message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_body_utf8
EOF`
[ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"
 
# 发送邮件
sendEmail=‘/usr/local/bin/sendEmail‘
set -x
$sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$message_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312
EOF
chmod +x /usr/lib/zabbix/alertscripts/SendEmail.sh
cd /usr/share/zabbix/fonts
mv graphfont.ttf graphfont.ttf.back
wget http://qkadownload.qkagame.com/msyh.ttf
if [ $? -ne 0  ];then
echo "wget msyh err"
exit 
fi
mv msyh.ttf graphfont.ttf
chmod 777 graphfont.ttf
systemctl start zabbix-server
systemctl start httpd
systemctl start zabbix-agent
systemctl enable zabbix-server.service
systemctl enable zabbix-agent.service
systemctl enable httpd.service
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=10051/tcp
firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --reload

使用方法:

给脚本可执行权限chmod +x 脚本文件
数据默认用户名密码zabbix 发邮件脚本名字:SendEmail.sh 登陆zabbix web账号密码 admin:zabbix
./zabbix_lamp.sh smtp.test.com admin 123456 [email protected]
./zabbix_lnmp.sh smtp.test.com admin 123456 [email protected]
lnmp+zabbix 访问 lamp+zabbix 访问 http://ip/zabbix 
centos6 脚本名字zabbix_lamp_6.sh zabbix_lnmp_6.sh

zabbix web配置以lamp+zabbix 为实例:

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

中文设置默认图像微软雅黑

技术分享

技术分享

zabbix 邮件配置

3.2邮件配置必须添加

参数 {ALERT.SENDTO}

        {ALERT.SUBJECT}

        {ALERT.MESSAGE}

技术分享

打开默认动作测试报警

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

关闭zabbix_agent 看是否正常发邮件

centos7 /bin/systemctl stop  zabbix-agent.service

centos6 service zabbix-agent stop

所有脚本放到附件


本文出自 “成长记录” 博客,请务必保留此出处http://juestnow.blog.51cto.com/1515305/1878023

centos7.2下搭建zabbix3.2(简)

...系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。   &nb 查看详情

60秒内快速搭建完整zabbix3.4.6监控系统

一.准备工作OS:centos7.4Zabbixversion:3.4.6(2018/1/15日上线的新版本)Database:MariaDB关闭防火墙:systemctlstopfirewalld防火墙开机不自启:systemctldisablefirewalld关闭selinux:临时:setenforce0永久:sed-i‘s/SELINUX=enforcing/SELINUX=disabl 查看详情

lamp+lnmplamp环境搭建测试

按顺序安装LAMP三个组件后,LAMP的环境的基础程序就已经搭建完毕了。接下来我们要把各个模块铆接起来并测试其工作是否正常。一、Apache2.4与PHP5的结合1、修改Apache2.4的配置文件vim/usr/local/apache2.4/conf/httpd.conf#httpd的配置文件安... 查看详情

zabbix监控搭建步骤

Zabbix搭建,监控tomcat、mysql三台服务器,以及微信告警系统详情:Centos6.5Centos6.8Centos6.7新项目上线在即,现在在测试阶,搭建zabbix进行监控tomcat,mysql,等服务和服务器状态,两台IDC机房服务器,一台阿里云服务器。长期更新因... 查看详情

centos7.5下搭建zabbix3.4监控

zabbix中文官方文档地址:https://www.zabbix.com/documentation/3.4/zh/manual大纲一、zabbix简介二、环境准备三、安装数据库四、安装zabbixserver五、初始化zabbixweb六、安装zabbix-agent一、zabbix简介zabbix是一个企业级的分布式开源监控方案。能够监... 查看详情

centos7.x搭建zabbix3.4(代码片段)

 前提要安装了LAMP(官方推荐环境)LNMP也可以一、安装、配置Zabbix3.4  1:安装zabbix_RPM包rpm-ihttps://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm  2:安装zabbix服务器、客户端yuminstallzabbix-server-mysq 查看详情

centos6.4下zabbix系列之zabbix安装搭建及汉化

1、安装开发软件包yum -ygroupinstall "DevelopmentTools"2、安装环境所需依赖包yum-yinstallhttpdmysqlmysql-client mysql-serverphpphp-mysqlphp-commonphp-mbstringphp-gdphp-odbcphp-pearcurlcurl-develnet-snmpnet 查看详情

centos7下搭建zabbix监控

安装zabbix前,需要先安装lnmb环境:一、安装mysql1、卸载了mariadb(mysql分支,会占用3306端口等,也可以用其替代官方mysql)rpm -qa|grep mariadb  #查看拥有的软件包rpm -e --nodeps mariadbXXX    #强制... 查看详情

centos6.5搭建zabbix3.0

一.搭建LAMP平台注意zabbix3.0需要php5.4以上的版本(1)安装依赖包httpd和mysql安装过程省略rpm-ehttpd--nodeps yum-yinstallmysql-develgccgcc-c++autoconfhttpd-manualmod_perlmod_auth_mysqlmysql-connector-odbclibdbi-dbd-mysqlnet-sn 查看详情

centos6.6搭建zabbix3.0.3过程

分享CentOS 6.6下搭建Zabbix3.0.3的过程,希望都大家有所帮助。环境安装系统环境:#cat/etc/RedHat-release CentOSrelease6.6(Final)服务器IP地址:10.20.0.101Apache安装#yuminstallhttpdlibxml2-develnet-snmp-devellibcurl-devel配置web更改Serv 查看详情

centos6搭建zabbix3.0

1.1环境准备[[email protected] ~]# cat/etc/redhat-releaseCentOS release 6.5 (Final)[[email protected] ~]#/etc/init.d/iptables stop[[email protected] ~ 查看详情

centos7手把手教你搭建zabbix监控

Centos7安装部署zabbix3.4centos系统版本:  1、安装前需要先关闭selinux和firewall.1.1[[email protected]~]#vi/etc/selinux/config将SELINUX=enforcing改为SELINUX=disabled设置后需要重启才能生效 [[email protected]~]#s 查看详情

lamp+lnmplamp架构概述

一、LAMP架构概述LAMP就是Linux、Apache(httpd)、MySQL、PHP四个东东的统称,我们常见的大部分网站都是由这个体系提供的,比如google、Taobao、51CTO等等。其中Linux是操作系统,是其他三个东东的宿主,企业中一般使用CentOS7、CentOS6等... 查看详情

centos7搭建zabbix3.4

setenforce0临时关闭selinuxsystemctlstopfirewalld.service临时关闭防火墙rm-f/var/run/yum.pid干掉yum进程,yum则可继续使用yum-yinstallhttpd安装apache服务systemctlenablehttpd开机自启动systemctlstarthttpd启动apache服务yuminstall-ymariadbmari 查看详情

centos7.0搭建zabbix环境

实验环境:Centos7.0IP:192.168.47.140650)this.width=650;"src="https://s1.51cto.com/oss/201711/19/f0680e1edfb5938b7afa20572276f6b9.png-wh_500x0-wm_3-wmp_4-s_3366487371.png"title="zabbixserver-2017-11-19-07-3 查看详情

centos7下搭建zabbix(代码片段)

安装Mysql5.61.下载MySQL的repo源#wgethttp://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm2.安装mysql-community-release-el7-5.noarch.rpm包#rpm-ivhmysql-community-release-el7-5.noarch.rpm3.安装mysql#yumin 查看详情

centos7搭建zabbix3.0监控系统

关闭防火墙和selinuxsystemctlstopfirewalld.service               (停止防火墙)systemctldisablefirewalld.service    &nb 查看详情

centos7搭建zabbix3.0.5监控系统

一、实验环境:[[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [[email protected] ~]# uname -r3.10.0-3 查看详情