zabbix搭建搭建

zabbix搭建:

C7初始化:systemctl stop firewalld
systemctl disable firewalld
yum -y install iptables-services
systemctl start iptables
iptables -F
service iptables save
systemctl enable iptables
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

1.配置公网yum源:ifup ens34;curl http://mirrors.163.com/.help/CentOS7-Base-163.repo > /etc/yum.repos.d/163.repo;yum clean all;yum make cache

2.安装LAMP:yum -y install mariadb mariadb-server httpd php php-mysql

3.开启服务:

开启apache:systemctl enable httpd;systemctl restart httpd

开启数据库:systemctl enable mariadb;systemctl restart mariadb

4.初始化数据库:mysql_secure_installation;回车  y 123 123 y y y y

5.安装Zabbix软件包:rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

导入yum密钥:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

6.安装zabbix组件:yum -y install zabbix-server-mysql zabbix-web-mysql  zabbix-agent

7.设置数据库用户:

CREATE DATABASE zabbix DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

exit

8.还原数据库文件:cd /usr/share/doc/zabbix-server-mysql-3.2.11/;zcat create.sql.gz | mysql -uroot -p123 zabbix

9.配置服务器端:vim /etc/zabbix/zabbix_server.conf

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=Zabbix

10.启动zabbix-server端服务:

systemctl start zabbix-server

systemctl enable zabbix-server

11.编辑zabbix为apache准备的配置文件:vim /etc/httpd/conf.d/zabbix.conf

php_value date.timezone Asia/Shanghai

12.安装时间同步服务器:yum install -y ntpdate;ntpdate -u ntp1.aliyun.com

13.重启apache(因为修改了时区):systemctl restart httpd

14.修改字符集:将宋体字符集SIMSUN (1)拉到Linux中,mv SIMSUN_(1).TTC /usr/share/zabbix/fonts;mkdir back;mv graphfont.ttf back/;mv SIMSUN_\(1\).TTC graphfont.ttf;chmod a+x graphfont.ttf

15.修改apache默认主页文件:vim /etc/httpd/conf/httpd.conf---DocumentRoot "/usr/share/zabbix";systemctl restart httpd

16.浏览器访问:192.168.66.11

 

修改为中文页面:

  


zabbix自动扫描发现机器,自动监控:

  • 给12和13机器安装agent端:将agent拉到LInux中 
  • 设置agent端: vim /etc/zabbix/zabbix_agentd.conf

指定服务器端IP:

指定服务器端IP:

指定本机IP:

  • 启动服务:/etc/init.d/zabbix-agent start;chkconfig zabbix-agent on
  • 打开网页监控Linux主机:

设置动作:动作里添加主机范围,操作里添加操作细节(添加主机,连接到模板,启用主机)

如果检测到11-100范围内的IP,那么就添加主机,连接模板,然后启用主机

自动发现:添加IP范围和ICMP ping

如果有11-100的主机那么就检测上


Zabbix监控MYSQL数据库:

1.mysql端安装mysql:yum install -y mysql mysql-server;service mysqld start;mysqladmin -uroot password 123

2.安装agent端:yum install -y zabbix-agent-3.2.1-1.el6.x86_64.rpm

3.设置agent端:vim /etc/zabbix/zabbix_agentd.conf

指定服务器端IP:

指定服务器端IP:

指定本机IP:

4.zabbix登录mysql才能查看数据,在/etc/zabbix/下创建用户文件:

vi /etc/zabbix/.my.cnf
    [client]
    user=zabbix
    password=zabbix

5.创建用户,赋予能够被Zabbix监控的权利:                                                                                                                                            

mysql> GRANT ALL ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
mysql> FLUSH PRIVILEGES;

6.设置mysql监控模板,修改userparameter_mysql.conf文件

修改找寻密码文件目录--    

7.启动服务:service zabbix-agent start;chkconfig zabbix-agent on

Zabbix 监控 Nginx 性能

nginx在zxbbix中默认没有监控模板,所以要添加模板,然后来调用服务器内的脚本来进行监控

1.下载nginx,下载自带状态统计模块

useradd -s /sbin/nologin -M nginx
yum install -y pcre pcre-devel zlib zlib-devel;./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module;make && make install

cd /usr/local/nginx/conf/;vim nginx.conf

开启nginx模块

    location /ngx_status {
        stub_status on;
    }

2.安装agent端:yum install -y zabbix-agent-3.2.1-1.el6.x86_64.rpm 

3.编写客户端脚本,让模板调用:

#!/bin/bash
	 
HOST="127.0.0.1"
PORT="80"
	 
# 检测 nginx 进程是否存在
function ping {
	/sbin/pidof nginx | wc -l 
}
 
# 检测 nginx 性能
function active {
	/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
	
function reading {
	/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
	
function writing {
	/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
	
function waiting {
	/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}

function accepts {
	/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $1}'
}

function handled {
	/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $2}'
}
	
function requests {
	/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $3}'
}

# 执行function
$1

chmod a+x nginx.sh

4.把脚本和agent结合起来

vim /etc/zabbix/zabbix_agentd.conf

UnsafeUserParameters=1

UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx.sh $1
service zabbix-agent restart

5.设置agent端:vim /etc/zabbix/zabbix_agentd.conf

指定服务器端IP:

指定服务器端IP:

指定本机IP:

6.开启服务:service zabbix-agent start

7.在服务器端使用zabbix-get测试脚本获取数据情况:yum install -y zabbix-get

8.导入nginx模板:

钉钉报警:

1.创建机器人:

 

2.在zabbix服务器端编写脚本:

#!/bin/bash
curl 'https://oapi.dingtalk.com/robot/send?access_token=9322624fc072807816d9683512d0e0fe4d4bca6a74ead8bfb5652164ae141924' \
   -H 'Content-Type: application/json' \
   -d '{"msgtype": "text","text": {"content": "zabbix:我就是我, 是不一样的烟火"}}'

 

原理:把脚本推送到钉钉的服务器,钉钉的服务器机器人转发(要能上网)。

3.执行脚本:

方式二:(更加灵活)

1.在zabbix服务器创建脚本

#!/bin/bash
to=$1
subject=$2
text=$3curl '此处为钉钉机器人的Webhook' \
    -H 'Content-Type: application/json' \
    -d '
    {"msgtype": "text",
        "text": {
            "content": "'"$text"'"
        },
        "at":{
            "atMobiles": [ 
                "'"$1"'" 
        ],
        "isAtAll": false
        }
    }'

2.执行脚本:./token.sh 123321 yang  额额额zabbix

关闭apache钉钉发送报警信息:

1.给客户端安装agent:

vim /etc/zabbix/zabbix_agentd.conf

指定服务器端IP:

指定服务器端IP:

指定本机IP:

service zabbix-agent start

2.给客户端安装apache:

yum install -y httpd 

service httpd restart

3.在zabbix浏览器端添加主机

4.zabbix会默认找这个路径执行里面的脚本:/usr/lib/zabbix/alertscripts

mv /root/token.sh .
chown zabbix:zabbix token.sh

5.在zabbix浏览器端内添加参数,管理---报警媒介类型---创建媒体类型

三个参数:收件人地址、主题、详细信息

6.定义触发器:让zabbix自动执行脚本,配置--动作--创建触发器;定义哪些主机如果报警不提供信息:

管理--用户--admin--报警媒介

测试:service httpd stop

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值