centos 快速搭建lnmp、lamp+zabbix3.2监控系统
所安装版本MysqL 5.6 PHP5.5 zabbix3.2
centos7 lnmp+zabbix3.2 脚本
#!/bin/bash if[$(rpm-qiMysqL-community-release-el7-5.noarch|wc-l)-lt2];then rpm-Uvhhttp://repo.MysqL.com//MysqL-community-release-el7-5.noarch.rpm if[$?-ne0];then echo"MysqL-releaseerr" exit fi fi yuminstall-yepel-release if[$?-ne0];then echo"epel-releaseerr" exit fi if[$(rpm-qiwebtatic-release-7-3.noarch|wc-l)-lt2];then rpm-ivhhttps://mirror.webtatic.com/yum/el7/webtatic-release.rpm if[$?-ne0];then echo"webtatic-releaseerr" exit fi fi yum-yinstallopensslOpenIPMI-libsunixODBClibaioiksemelfpingnet-snmpnet-snmp-utilsMysqLMysqL-serverMysqL-develPHP55wPHP55w-gdPHP55w-xmlPHP55w-MysqLPHP55w-mbstringPHP55w-bcmathperl-DBIcurllibcurl-develnet-snmp-devellibssh2libssh2-devellibxml2libxml2-develPHP55w-fpmNginx if[$?-ne0];then echo"yuminstallerr" exit fi if[$(rpm-qizabbix-release-3.2-1.el7.noarch|wc-l)-lt2];then rpm-Uvhhttp://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm if[$?-ne0];then echo"zabbix-releaseerr" exit fi fi yum-yinstallwgetzabbix-server-MysqLzabbix-web-MysqLzabbix-agentzabbix-getzabbix-sender if[$?-ne0];then echo"zabbixinstallerr" 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/a\character_set_server=utf8"/etc/my.cnf cat>/etc/Nginx/Nginx.conf<<EOF userNginx; worker_processes1; error_log/var/log/Nginx/error.logwarn; pid/var/run/Nginx.pid; events{ worker_connections1024; } http{ include/etc/Nginx/mime.types; default_typeapplication/octet-stream; log_formatmain'\$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.logmain; sendfileon; #tcp_nopushon; keepalive_timeout65; #gzipon; include/etc/Nginx/conf.d/*.conf; } EOF cat>/etc/Nginx/conf.d/default.conf<<EOF server{ listen80; server_namelocalhost; #charsetkoi8-r; #access_loglogs/host.access.logmain; location/{ root/usr/share/zabbix; indexindex.PHPindex.htmlindex.htm; } #error_page404/404.html; #redirectservererrorpagestothestaticpage/50x.html # error_page500502503504/50x.html; location=/50x.html{ roothtml; } #proxythePHPscriptstoApachelisteningon127.0.0.1:80 # #location~\.PHP${ #proxy_passhttp://127.0.0.1; #} #passthePHPscriptstoFastCGIserverlisteningon127.0.0.1:9000 # location~\.PHP${ root/usr/share/zabbix; fastcgi_pass127.0.0.1:9000; fastcgi_indexindex.PHP; fastcgi_paramSCRIPT_FILENAME\$document_root\$fastcgi_script_name; includefastcgi_params; } location~*^.+\.(jpg|jpeg|gif|png|bmp)${ access_logoff; rootopencart; expires30d; break; } } EOF /bin/systemctlrestartMysqL.service echo"createdatabasezabbixcharactersetutf8;"|MysqL echo"grantallprivilegesonzabbix.*tozabbix@localhostidentifiedby'zabbix';"|MysqL echo"grantallprivilegesonzabbix.*tozabbix@'%'identifiedby'zabbix';"|MysqL cat>>/etc/services<<EOF zabbix-agent10050/tcpZabbixAgent zabbix-agent10050/udpZabbixAgent zabbix-trapper10051/tcpZabbixTrapper zabbix-trapper10051/udpZabbixTrapper 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 zcatcreate.sql.gz|MysqL-urootzabbix cd/tmp wgethttp://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz if[$?-ne0];then echo"wgetsendEmailerr" exit fi tarxvzfsendEmail-v1.56.tar.gz cpsendEmail-v1.56/sendEmail/usr/local/bin/ chmod+x/usr/local/bin/sendEmail chown-Rzabbix.zabbix/usr/lib/zabbix/alertscripts cat>/usr/lib/zabbix/alertscripts/SendEmail.sh<<EOF #!/bin/bash LOGFILE="/tmp/Email.log" :>"\$LOGFILE" exec1>"\$LOGFILE" exec2>&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-tGB2312-fUTF-8<<EOF \$message_subject_utf8 EOF\` [\$?-eq0]&&message_subject="\$message_subject_gb2312"||message_subject="\$message_subject_utf8" #转换邮件内容为GB2312 message_body_gb2312=\`iconv-tGB2312-fUTF-8<<EOF \$message_body_utf8 EOF\` [\$?-eq0]&&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"-omessage-content-type=text-omessage-charset=gb2312 EOF chmod+x/usr/lib/zabbix/alertscripts/SendEmail.sh cd/usr/share/zabbix/fonts mvgraphfont.ttfgraphfont.ttf.back wgethttp://qkadownload.qkagame.com/msyh.ttf if[$?-ne0];then echo"wgetmsyherr" exit fi mvmsyh.ttfgraphfont.ttf chmod777graphfont.ttf systemctlstartzabbix-server systemctlstartNginx.service systemctlstartPHP-fpm.service systemctlstartzabbix-agent systemctlenablezabbix-server.service systemctlenablezabbix-agent.service systemctlenableNginx.service systemctlenablePHP-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-qiMysqL-community-release-el7-5.noarch|wc-l)-lt2];then rpm-Uvhhttp://repo.MysqL.com//MysqL-community-release-el7-5.noarch.rpm if[$?-ne0];then echo"MysqL-releaseerr" exit fi fi yuminstall-yepel-release if[$?-ne0];then echo"epel-releaseerr" exit fi if[$(rpm-qiwebtatic-release-7-3.noarch|wc-l)-lt2];then rpm-ivhhttps://mirror.webtatic.com/yum/el7/webtatic-release.rpm if[$?-ne0];then echo"webtatic-releaseerr" exit fi fi yum-yinstallopensslOpenIPMI-libsunixODBClibaioiksemelfpingnet-snmpnet-snmp-utilshttpdMysqLMysqL-serverMysqL-develPHP55wPHP55w-gdPHP55w-xmlPHP55w-MysqLPHP55w-mbstringPHP55w-bcmathperl-DBIcurllibcurl-develnet-snmp-devellibssh2libssh2-devellibxml2libxml2-devel if[$?-ne0];then echo"yuminstallerr" exit fi if[$(rpm-qizabbix-release-3.2-1.el7.noarch|wc-l)-lt2];then rpm-Uvhhttp://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm if[$?-ne0];then echo"zabbix-releaseerr" exit fi fi yum-yinstallwgetzabbix-server-MysqLzabbix-web-MysqLzabbix-agentzabbix-getzabbix-sender if[$?-ne0];then echo"zabbix-installerr" 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/a\character_set_server=utf8"/etc/my.cnf cat>>/etc/httpd/conf.d/zabbix.conf<<EOF #ZabbixmonitoringsystemPHPwebfrontend # Alias/zabbix/usr/share/zabbix <Directory"/usr/share/zabbix"> OptionsFollowSymLinks AllowOverrideNone Orderallow,deny Allowfromall </Directory> <Directory"/usr/share/zabbix/conf"> Orderdeny,allow Denyfromall <files*.PHP> Orderdeny,allow Denyfromall </files> </Directory> <Directory"/usr/share/zabbix/api"> Orderdeny,allow Denyfromall </files> </Directory> <Directory"/usr/share/zabbix/include"> Orderdeny,allow Denyfromall </files> </Directory> <Directory"/usr/share/zabbix/include/classes"> Orderdeny,allow Denyfromall </files> </Directory> EOF /bin/systemctlrestartMysqL.service echo"createdatabasezabbixcharactersetutf8;"|MysqL echo"grantallprivilegesonzabbix.*tozabbix@localhostidentifiedby'zabbix';"|MysqL echo"grantallprivilegesonzabbix.*tozabbix@'%'identifiedby'zabbix';"|MysqL cat>>/etc/services<<EOF zabbix-agent10050/tcpZabbixAgent zabbix-agent10050/udpZabbixAgent zabbix-trapper10051/tcpZabbixTrapper zabbix-trapper10051/udpZabbixTrapper 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 zcatcreate.sql.gz|MysqL-urootzabbix cd/tmp wgethttp://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz if[$?-ne0];then echo"wgetsendEmailerr" exit fi tarxvzfsendEmail-v1.56.tar.gz cpsendEmail-v1.56/sendEmail/usr/local/bin/ chmod+x/usr/local/bin/sendEmail chown-Rzabbix.zabbix/usr/lib/zabbix/alertscripts cat>/usr/lib/zabbix/alertscripts/SendEmail.sh<<EOF #!/bin/bash LOGFILE="/tmp/Email.log" :>"\$LOGFILE" exec1>"\$LOGFILE" exec2>&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-tGB2312-fUTF-8<<EOF \$message_subject_utf8 EOF\` [\$?-eq0]&&message_subject="\$message_subject_gb2312"||message_subject="\$message_subject_utf8" #转换邮件内容为GB2312 message_body_gb2312=\`iconv-tGB2312-fUTF-8<<EOF \$message_body_utf8 EOF\` [\$?-eq0]&&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"-omessage-content-type=text-omessage-charset=gb2312 EOF chmod+x/usr/lib/zabbix/alertscripts/SendEmail.sh cd/usr/share/zabbix/fonts mvgraphfont.ttfgraphfont.ttf.back wgethttp://qkadownload.qkagame.com/msyh.ttf if[$?-ne0];then echo"wgetmsyherr" exit fi mvmsyh.ttfgraphfont.ttf chmod777graphfont.ttf systemctlstartzabbix-server systemctlstarthttpd systemctlstartzabbix-agent systemctlenablezabbix-server.service systemctlenablezabbix-agent.service systemctlenablehttpd.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登陆zabbixweb账号密码admin:zabbix ./zabbix_lamp.shsmtp.test.comadmin123456admin@test.com ./zabbix_lnmp.shsmtp.test.comadmin123456admin@test.com lnmp+zabbix访问lamp+zabbix访问http://ip/zabbix centos6脚本名字zabbix_lamp_6.shzabbix_lnmp_6.sh
zabbix web配置以lamp+zabbix 为实例:
中文设置默认图像微软雅黑
zabbix 邮件配置
参数{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
打开默认动作测试报警
centos7/bin/systemctl stop zabbix-agent.service
centos6 servicezabbix-agent stop
所有脚本放到附件