mysql5.0api_zabbix5.0

1:什么是监控?

监控: 生活中的监控, 事后追责

linux监控: 事后追责,实时监控,事前预警,性能分析

2:常见的linux监控命令

cpu: top uptime vmstat

mem free

disk df du

进程 ps pstree

网络 iftop nethogs

查看日志

3:使用shell脚本来监控服务器

#!/bin/bash

avai_mem=`free -m|awk '/Mem/{print $NF}'`

if [ $avai_mem -lt 1000 ];then

#mail

fi

4: zabbix的基础服务架构

4c1d17b21b5b2490d0e28cfd4cccbd6b.png

5: zabbix生产环境安装

选版本

安装依赖

#安装php72w和nginx

cd /etc/yum.repos.d/

rm -fr local.repo

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

wget http://mirror.webtatic.com/yum/el7/webtatic-release.rpm

yum localinstall webtatic-release.rpm -y

yum install php72w-fpm php72w-cli nginx -y

#安装php依赖

yum install php72w-mysqli php72w-bcmath php72w-gd php72w-mbstring php72w-xml php72w-ldap -y

#配置nginx和php

vim /etc/php-fpm.d/www.conf

[root@monitor ~]# grep -Ev "^$|;" /etc/php-fpm.d/www.conf

[www]

user = nginx

group = nginx

listen = 127.0.0.1:9000

[root@monitor ~]# grep -Ev "^$|;" /etc/php.ini

[PHP]

max_execution_time = 300

max_input_time = 300

post_max_size = 16M

[Date]

date.timezone = Asia/Shanghai

#nginx配置文件

[root@monitor ~]# grep -Ev "^$|#" /etc/nginx/nginx.conf

worker_processes 1;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

server {

listen 80;

server_name localhost;

location / {

root /data/zbx/html;

index index.php index.html index.htm;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

location ~ \.php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /data/zbx/html$fastcgi_script_name;

include fastcgi_params;

}

}

}

#准备zabbix-web的源代码

wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.5.tar.gz

tar xf zabbix-5.0.5.tar.gz

cd zabbix-5.0.5/

cp -a ui/* /html/

chown -R nginx:nginx /html/

mkdir /var/lib/php/session

chown -R nginx:nginx /var/lib/php/session

#安装数据库

yum install mariadb-server.x86_64 -y

systemctl start mariadb.service

systemctl enable mariadb.service

mysql_secure_installation

mysql

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;

Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by '123456';

Query OK, 0 rows affected (0.00 sec)

#安装zabbix-server

rpm -ivh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

yum install zabbix-server-mysql -y

zcat /usr/share/doc/zabbix-server-mysql-5.0.5/create.sql.gz|mysql -uzabbix -p123456 zabbix

#配置zabbix-server

[root@monitor zabbix]# grep -Ev "^$|#" zabbix_server.conf

LogFile=/var/log/zabbix/zabbix_server.log

LogFileSize=0

PidFile=/var/run/zabbix/zabbix_server.pid

SocketDir=/var/run/zabbix

DBName=zabbix

DBUser=zabbix

DBPassword=123456

SNMPTrapperFile=/var/log/snmptrap/snmptrap.log

Timeout=4

AlertScriptsPath=/usr/lib/zabbix/alertscripts

ExternalScripts=/usr/lib/zabbix/externalscripts

LogSlowQueries=3000

StatsAllowedIP=127.0.0.1

#启动zabbix-server

systemctl start zabbix-server.service

systemctl enable zabbix-server.service

#继续zabbix-web安装

6∶监控一台服务器主机

rpm -ivh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent2-5.0.5-1.el7.x86_64.rpm

vim /etc/zabbix/zabbix_agent2.conf

Server=10.0.0.71

systemctl start zabbix-agent2.service

systemctl enable zabbix-agent2.service

zabbix-web

配置--主机--创建主机(右上角)

输入主机名称--群组--客户端ip地址--模板--关联Template OS Linux by Zabbix agent

9c823657872f88ee6af68d11931719ae.png

7∶自定义监控项

#agent端配置

vim /etc/zabbix/zabbix_agent2.d/zbx_nginx.conf

UserParameter=nginx_alive,ps -ef|grep -v grep|grep -c nginx

systemctl restart zabbix-agent2.service

#zabbix-server测试

zabbix_get -s 10.0.0.8 -k nginx_alive

zabbix-web

配置--主机--10.0.0.8--监控项--创建监控项

44ebe825863b88bb1a7b13eb097bb5af.png

8∶自定义触发器

配置--主机--10.0.0.8--触发器--创建触发器

#触发器表达式

#最新值

{主机名称:key值.last()}=0

#平均值

{主机名称:key值.avg(5m)}=0

#count计数

{主机名称:key值.count(1m,10)}=0

#diff对比

{主机名称:key值.diff(1m,10)}=0

1604309897148.png

9:自定义报警

邮件报警

1:自定义发件人

管理--报警媒介类型--Email

4ef6943c999d6d51ee37589e2cb9fdfd.png

收件人配置

98b4ff9830d7ff3d1ef69f899629e3f4.png

配置动作

ba1c99998df374c3bef0da6353fe3437.png

3:启动发消息的动作

配置---动作--启动动作

微信报警

1:申请企业微信

2:准备微信报警脚本

vim weixin.py

#企业id

corpid='wxd074861951c67ba6'

#应用的秘钥

appsecret='QtraZrI936DZ0jZ3aSWTZ2CsAePgZUn_5jZhgudChtI'

#应用的编号

agentid=1

yum install python2-pip -y

pip install requests

python weixin.py t296917342 '口令' '今晚打老虎'

#!/usr/bin/env python

#-*- coding: utf-8 -*-

#author: bgx

#date: 2018

#comment: zabbix接入微信报警脚本

import requests

import sys

import os

import json

import logging

logging.basicConfig(level = logging.DEBUG, format = '%(asctime)s, %(filename)s, %(levelname)s, %(message)s',

datefmt = '%a, %d %b %Y %H:%M:%S',

filename = os.path.join('/tmp','weixin.log'),

filemode = 'a')

corpid='**********'

appsecret='********************'

agentid=1

#获取accesstoken

token_url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + appsecret

req=requests.get(token_url)

accesstoken=req.json()['access_token']

#发送消息

msgsend_url='https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + accesstoken

touser=sys.argv[1]

subject=sys.argv[2]

#toparty='3|4|5|6'

message=sys.argv[2] + "\n\n" +sys.argv[3]

params={

"touser": touser,

# "toparty": toparty,

"msgtype": "text",

"agentid": agentid,

"text": {

"content": message

},

"safe":0

}

req=requests.post(msgsend_url, data=json.dumps(params))

logging.info('sendto:' + touser + ';;subject:' + subject + ';;message:' + message)

3:新增报警媒介,添加发件人

mv weixin.py /usr/lib/zabbix/alertscripts/

#注意添加脚本参数

#{ALERT.SENDTO}, {ALERT.SUBJECT} and {ALERT.MESSAGE}

77bf84c2ecf359fb9611fd5e6b56b2ec.png

05537be8aa8653f1e8c45c1b092a55b5.png

4:添加收件人

8ea1de5eeb5f0a2b0cbaa10104c19acb.png

5:测试报警

10:自定义图形和grafana出图

#安装grafana

wget https://mirror.tuna.tsinghua.edu.cn/grafana/yum/rpm/grafana-7.3.1-1.x86_64.rpm

yum localinstall grafana-7.3.1-1.x86_64.rpm -y

systemctl start grafana-server.service

systemctl enable grafana-server.service

netstat -lntup

#granfa的概念

插件

数据源

dashboard

11∶自定义监控模板

#监控tcp的11种状态

ESTABLISHED

SYN_SENT

SYN_RECV

FIN_WAIT1

FIN_WAIT2

TIME_WAIT

CLOSE

CLOSE_WAIT

LAST_ACK

LISTEN

CLOSING

12:zabbix监控角度总结

zabbix 4.0监控nginx

1:导入模板,测试下模板的兼容性

2:把模板取值的配置文件和脚本,放在对应的位置

3:zabbix-get测试取值

4:给主机链接模板

13: web网站的可用性监测

#实现 curl 模拟登陆 报警

14:使用percona插件监控mysql

15: snmp监控window和Linux

16: zabbix自动发现和自动注册(主动)

自动发现

#自动发现:自动化添加监控主机

1.配置扫描网段范围 例如:192.168.0.100-200

2.配置扫描动作

3.被监控的主机需要安装配置启动agent

da87fd92586c349dfe205a240d9bd8a2.png

配置自动发现规则,注意配置IP地址范围,zabbix客户端去探测 system.uname进行判断添加

6fbb5d8428208faccc5ec7372b6e2c1c.png

配置动作:注意规则

条件:接收到的值 包含 Linux

自动发现状态 等于 上

服务类型 等于 Zabbix 客户端 #必须安装agent

```

![](https://img2020.cnblogs.com/blog/1275194/202011/1275194-20201116162502943-1911199108.png)

![](https://img2020.cnblogs.com/blog/1275194/202011/1275194-20201116162527995-625611389.png)

![](https://img2020.cnblogs.com/blog/1275194/202011/1275194-20201116162543211-714300103.png)

安装被监控主机,配置被监控主机

```bash

rpm -ivh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent2-5.0.5-1.el7.x86_64.rpm

vim /etc/zabbix/zabbix_agent2.conf

Server=10.0.0.71 #配置zabbix-server主机IP地址

systemctl start zabbix-agent2.service

systemctl enable zabbix-agent2.service

自动注册(主动模式)

#主动注册注意配置被监控端配置

Server=允许取值的IP地址

ServerActive= 主动找server IP地址

Hostname= 被监控主机的主机名或者直接填写IP地址

HostMetadata= web|DB|cache 根据主机用途作为标识,例如有web主机链接Nginx模板,db链接数据库(mysql)模板

自动注册的规则server端,配置自动注册的规则。

HostMetadata=

b00ba09c62595f64066227072e85e5a2.png

3e344b5cceb39e5274df6b7c7b712cf8.png

配置操作

bc52698fbbcc4e4da0e6c2b689366cd4.png

dbc9f5dd4f28f53eb309b2b4e0c91b45.png

2bb1c3496042eb784ac13763e3e455f9.png

a16b8d26bbb9307103a69ce8dd30626a.png

b5303d13c19896307bf4c6b62957480b.png

17: zabbix-agent主动和被动的区别

18: zabbix版本升级

19: zabbix分布式监控proxy

d66abbdb2fb61e8bbb93bc8731381276.png

c64b859e68099cf64f461e1e3776761f.png

#安装zabbix

wget https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

rpm -ivh zabbix-release-5.0-1.el7.noarch.rpm

cd /etc/yum.repos.d/

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

mysql_secure_installation

mysql

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;

Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by '123456';

Query OK, 0 rows affected (0.00 sec)

#被监控主机

rpm -ivh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent2-5.0.5-1.el7.x86_64.rpm

vim /etc/zabbix/zabbix_agent2.conf

Server=10.0.0.71 #配置zabbix-server主机IP地址

systemctl start zabbix-agent2.service

systemctl enable zabbix-agent2.service

20: zabbix监控jvm原理

21: zabbix低级自动发现

22: zabbix性能优化

23: zabbix api

简介 提供关于当前Zabbix软件的常用信息。阅读本章节将为您选择使用Zabbix提供一些好的理由。 Zabbix 概念 解释了Zabbix中使用的术语,并且提供了Zabbix组件的详细信息。 安装 和 快速入门章节可以帮助您开始使用ZabbixZabbix 应用 是一个替代的方案,通过本章节,可以快速的使用Zabbix应用,并了解Zabbix应用是什么。 配置 是本手册中内容最多最重要的章节之一。它包含一些重要的建议,关于如何设置Zabbix来监控您的环境、如何从主机设置到获取必要的数据、如何查看数据、如何配置告警通知和在出现问题时执行远程命令等。 IT 服务 IT服务章节详细的说明了如何利用Zabbix提升监控环境的高稳定性。 Web 监控 可以帮助您学会怎么样去监控Web网站的可用性。 虚拟机监控提供了如何配置VMware虚拟机环境监控的方法。 维护, 正则表达式, 事件确认 and XML 导出/导入 这些章节进一步说明了如何全面的使用Zabbix软件的功能。 发现 功能包含网络设备自动发现的指令,主动监控的指令,文件系统自动发现的指令,网络接口自动发现的指令等。 分布式监控 可以使用Zabbix系统支撑更庞大更复杂的环境。 加密 功能可以实现Zabbix组件之间的通讯加密。 Web 界面 包含Zabbix Web界面使用的特定信息。 API 章节详细的说明了Zabbix API的使用。 详细的技术细节表包含在附录中。附录也包含常见问题的详细解答。
课程目标     全面理解和掌握 Zabbix 监控系统的架构及运行原理,搭建和管理各种规模的Zabbix监控系统 课程简介         Zabbix是一个开源的企业级的监控解决方案。通过Zabbix可以监控IT基础设施的方方面面,包括硬件、操作系统、网络、虚拟化层、中间件和各种业务应用系统。用Zabbix几乎可以监控你想监控的任意数据。              本课程从Zabbix的介绍、安装开始,一步步带你深入Zabbix,通过学习你会:         1、掌握Zabbix各个组件的配置和管理。         2、掌握不同监控项的类型和配置方法,根据监控需求灵活配置监控项。         3、掌握网络发现、低级发现和主动式agent自动注册,实现自动化监控。         4、掌握模版、宏变量、触发器和告警通知的配置和高级的应用方法。         5、掌握图形、屏幕、拓扑图和仪表盘等数据可视化的方法,利用大屏可以实时的展示监控数据。         6、掌握Zabbix系统自身的维护、备份、升级、排障以及性能优化。         7、掌握Zabbix内部运行机制和Zabbix使用技巧,让zabbix更好的帮助你实现监控目标。                  本课程中还包含很多操作演示,比如像创建主机,创建监控项、触发器、图形、全局事件关联等,也介绍了微信和钉钉告警的配置方法。当你对Zabbix深入了解之后,面对层出不穷的新业务、新应用,你都能轻松自如的制定和提供相应的监控解决方案。 特别提示:官网的中文文档有些地方翻译的有问题,一定要以英文文档为准。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值