setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
grep SELINUX /etc/selinux/config

//添加防火墙配置
systemctl start firewalld.service && systemctl enable firewalld.service
firewall-cmd --zone=public --add-port=10050/tcp --permanent 
firewall-cmd --zone=public --add-port=10051/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=5432/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports


安装YUM源:
cd /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum clean all
yum makecache

一:安装LAMP:

1:mysql

yum install -y mariadb mariadb-server
systemctl start mariadb && systemctl enable mariadb

安全初始化,设置root密码等
mysql_secure_installation
mysql -uroot -p123456

2:安装apache

yum -y  install httpd
systemctl start httpd.service && systemctl enable httpd.service
//检查一下状态
systemctl status httpd.service

3:安装php

yum -y install php
//安装php-mysql,php-mysql是一个用于让PHP程序使用MySQL数据库的模块。要安装该模块
yum -y install php-mysql
systemctl restart httpd

4:测试lamp
安装完成后,PHP会生成配置文件/etc/httpd/conf.d/php.conf,因为该配置文件在/etc/httpd/conf.d目录下,所以它会被Apache所读取。PHP还会生成配置文件/etc/httpd/conf.modules.d/10-php.conf,该配置文件也会被Apache所读取,它的设定让Apache可以加载PHP模块。不过,PHP软件本身的配置文件其实是/etc/php.ini。
可以测试: 为了测试Apache能不能正常调用PHP,在/var/www/html目录下新建一个phpinfo.php文档,内容如下所示:
echo "<?php phpinfo ();   ?>" >/var/www/html/phpinfo.php

二:安装zabbix

安装包下载地址:http://www.zabbix.com/download.php
1.官方文档:https://www.zabbix.com/documentation/3.2/manual/installation/install_from_packages
2.导入源:
rpm -ivh  http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
3.安装zabbix包
yum -y install zabbix-server-mysql zabbix-web-mysql
//Agent
yum -y  install zabbix-agent

5.初始化数据库
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';    //授权,密码是 zabbix

进入到这个目录
cd /usr/share/doc/zabbix-server-mysql-3.2.1
zcat create.sql.gz | mysql -uroot -p123456 zabbix   //导入至zabbix库


6.启动zabbix server服务
vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
实际上我的配置文件修改的是DBHost和DBPassword去掉前面的#号。
启动zabbix服务,设置开机自启动
systemctl start zabbix-server
systemctl enable zabbix-server


7.编辑zabbix前端的PHP配合配置
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai    //主要去掉# 改成上海

调整时间同步:yum -y install ntpdate 
ntpdate cn.pool.ntp.org
启动apache服务,设置开机自启动
systemctl restart httpd

8.登陆zabbix
http://IP/zabbix/  或者  http://IP/zabbix/setup.php
默认用户名/密码:Admin/zabbix


三:配置客户端

rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
yum -y  install zabbix-agent
vi /etc/zabbix/zabbix_agentd.conf
修改此文件中的下面三个值
Server=192.168.92.8     //安装zabbix服务端的机器的IP
ServerActive=192.168.92.8 //安装zabbix服务端的机器的IP
Hostname=09          //随便起,我这以被监控的机器的ip作为Hostname

systemctl start zabbix-agent && firewall-cmd --zone=public --add-port=10050/tcp --permanent && firewall-cmd --reload && firewall-cmd --zone=public --list-ports

四:zabbix结合微信api

mkdir -p /usr/lib/zabbix/alertscripts/
cd /usr/lib/zabbix/alertscripts/
wget http://dl.cactifans.org/tools/zabbix_weixin.x86_64.tar.gz
tar zxvf zabbix_weixin.x86_64.tar.gz
mv zabbix_weixin/weixin .
chmod a+x weixin
mv zabbix_weixin/weixincfg.json /etc/
rm -rf zxvf zabbix_weixin.x86_64.tar.gz
rm -rf zabbix_weixin/

vim /etc/weixincfg.json
{
"corp": {
        "corpid": "wxxxxxx",
        "secret": "Vn6dxxxx",
        "agentid": 1
    }
}

测试:
/usr/lib/zabbix/alertscripts/weixin xxx subject body
xxx 账号
subject 告警主题
boyd 告警闲情


//zabbix页面配置
脚本参数:

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

自定义动作:

告警主题:
[{TRIGGER.SEVERITY}]服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
告警内容:
告警主机: {HOSTNAME1}
主机分组: {TRIGGER.HOSTGROUP.NAME}
告警时间: {EVENT.DATE} {EVENT.TIME}
告警等级: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目: {TRIGGER.KEY1}
问题详情: {ITEM.NAME}:{ITEM.VALUE}
当前状态: {TRIGGER.STATUS}
事件ID: {EVENT.ID}

恢复主题:
[{TRIGGER.SEVERITY}]服务器:{HOSTNAME1}发生:{TRIGGER.NAME}已恢复!
恢复内容:
告警主机: {HOSTNAME1}
主机分组: {TRIGGER.HOSTGROUP.NAME}
告警时间: {EVENT.DATE} {EVENT.TIME}
告警等级: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目: {TRIGGER.KEY1}
问题详情: {ITEM.NAME}:{ITEM.VALUE}
当前状态: {TRIGGER.STATUS}
事件ID: {EVENT.ID}