小雪崩 发表于 2019-1-18 13:15:50

图文超详解zabbix的安装以及设置邮件报警

博主QQ:819594300
博客地址:http://zpf666.blog.运维网.com/
有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持!
  一、   zabbix简介
  zabbix是完全开源的工具,整合了cacti和nagios等特性
  附:SNMP(udp 161udp 162)
  众多网络工具都支持此协议,比如常见路由交换,常见OS
  其既可以做管理端也可以做被管理端
  snmp协议大致有3个版本分别是v1 v2 v3
  无论是v1 和 v2 的安全性是比较差的,因为传输是明文的, V3的认证密码用MD5/SHA摘要算法加密。
  很多工具支持网络管理的功能,而对于非网络设备(操作系统),可以完全抛开snmp这种不安全的架构来实现监控的。所以很多工具都是控制端和agent架构,他们有专属的agent
  Zabbix的主要功能:
  ①具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库、FTP 等通用协议监控、多种告警方式、详细的报表图表绘制)。
  ②支持自动发现网络设备和服务器(可以通过配置自动发现服务器规则来实现)。
  ③支持分布式,能集中展示、管理分布式的监控点,扩展性强。
  ④server 提供通用接口(api 功能),可以自己开发完善各类监控(根据相关接口编写程序实现),编写插件容易,可以自定义监控项,报警级别的设置。
  ⑤数据收集,支持 snmp(包括 trapping and polling ),IPMI,JMX,SSH,TELNET。
  ⑥自定义的检测;自定义收集数据的频率;
  ⑦服务器/代理和客户端模式。
  ⑧灵活的触发器(可以定义非常灵活的问题阈值,称为触发器)。
  ⑨高可定制的报警,发送通知,可定制的报警升级,收件人,媒体类型。
  ⑩CPU负荷、内存使用、磁盘使用、网络状况、端口监视、日志监视等等。
  硬件监控:Zabbix IPMI Interface
  系统监控:Zabbix Agent Interface
  Java监控:ZabbixJMX Interface
  网络设备监控:Zabbix SNMP Interface
  应用服务监控:Zabbix Agent UserParameter
  MySQL数据库监控:percona-monitoring-plulgins   
  URL监控:ZabbixWeb 监控
  zabbix重要组件说明:
  ①zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行;
  ②database storage:专用于存储所有配置信息,以及由zabbix收集的数据;
  ③web interface:zabbix的GUI接口;
  ④proxy:可选组件,常用于监控节点很多的分布式环境中,代理server收集部分数据转发到server,可以减轻server的压力;
  ⑤agent:部署在被监控的主机上,负责收集主机本地数据如cpu、内存、数据库等数据发往server端或proxy端;
  另外,zabbix server、proxy、agent都有自己的配置文件以及log文件,重要的参数需要在这里配置,后面会详细说明。
  一个监控系统运行的大概的流程是这样的:
  agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。这里agentd收集数据分为主动和被动两种模式:
  主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy
  被动:server向agent请求获取监控项的数据,agent返回数据。
  zabbix常用的监控架构平台
  ①server-agentd模式:
  这个是最简单的架构了,常用于监控主机比较少的情况下。
  ②server-proxy-agentd模式:
  这个常用于比较多的机器,使用proxy进行分布式监控,有效的减轻server端的压力。
  zabbix的系统架构:
https://s3.运维网.com/wyfs02/M02/95/9C/wKiom1kXsDiQtETEAAJQmwoKaRk861.jpg

  说明:abbix是一个基于Web界面的提供分布式系统监视以及网络监视功能的企业级开源解决方案。借助Zabbix,可以很轻松地减轻运维人员们繁重的服务器管理任务,实现业务系统的持续运行。
  下面会逐步介绍Zabbix分布式监控系统的部署及使用。
  配置好IP、DNS 、网关,确保使用远程连接工具能够连接服务器。
  二、Zabbix部署前的LNMP环境的搭建过程:
  虚拟机环境:
https://s2.运维网.com/wyfs02/M02/95/9B/wKioL1kXsDiRCFArAABn3ywqwLc607.jpg
  监控端和被监控端ip:
  ①zabbix监控服务器(即:zabbix_server):
  192.168.1.8
  说明:zabbix的服务端(若要监控本机,则需要在本机的配置zabbix agent)
  ②zabbix被监控主机(即:zabbix_agent):
  192.168.1.9
  说明:zabbix的客户端(被监控端,必须配置zabbix agent)
  系统环境:
  centos7.2x86_64
  1)安装编译工具及库文件
https://s2.运维网.com/wyfs02/M00/95/9C/wKiom1kXsDiAIAnLAAFkqvxRAyk082.jpg
  图中内容如下:
  yum-y install make apr* autoconf automake curl-devel gcc gcc-c++openssl openssl-devel gd kernel keyutilspatch perl kernel-headers compat* mpfr cpp glibc libgomp libstdc++-develkeyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-develzlib-devel libXpm* freetype libjpeg* libpng* libtool* libxml2 libxml2-devel patch libcurl-devel bzip2-develfreetype-devel
  2)安装mysql5.7.13
  ①在这里安装mysql的步骤就省略了,不会安装mysql5.7.13的朋友可以浏览我的博文,地址如下:
  http://zpf666.blog.运维网.com/11248677/1908988
  ②mysql安装完毕后,看一下mysql的服务:
https://s4.运维网.com/wyfs02/M00/95/9B/wKioL1kXsDmSkA5lAAB0-HvzMig352.jpg
  ③防火墙开启3306端口例外
https://s4.运维网.com/wyfs02/M01/95/9C/wKiom1kXsDmwrNTAAAEDsk6gDOw882.jpg
  ④mysql数据库密码
  我的数据库密码是:123456
  3)安装nginx1.10.2
  ①解压zlib和pcre
https://s2.运维网.com/wyfs02/M00/95/9C/wKiom1kXsDqC2ObhAAFNG_giU1I558.jpg
  说明:不需要编译,只需要解压就行。
  ②创建组账户和用户账户
https://s2.运维网.com/wyfs02/M01/95/9B/wKioL1kXsDrR-vmuAADy0lE5oEE353.jpg
  ③下载安装nginx
  下载nginx的源码包:http://nginx.org/download
https://s3.运维网.com/wyfs02/M02/95/9C/wKiom1kXsDvSd6RGAAGS_bGQFWI813.jpg
  图中内容如下:
  ./configure--prefix=/usr/local/nginx1.10 --with-http_dav_module--with-http_stub_status_module --with-http_addition_module--with-http_sub_module --with-http_flv_module --with-http_mp4_module--with-pcre=/root/pcre-8.39 --with-zlib=/root/zlib-1.2.8 --with-http_ssl_module--with-http_gzip_static_module --user=www --group=www && make&& make install
  ④做软链接
https://s3.运维网.com/wyfs02/M00/95/9C/wKioL1kXsDvSr4YVAACb1rtuQfI574.jpg
  ⑤nginx语法检测、启动nginx服务并查看服务
https://s3.运维网.com/wyfs02/M01/95/9C/wKiom1kXsDyz2ygzAAENhsVgc6U263.jpg
  ⑥防火墙开启80端口例外
https://s3.运维网.com/wyfs02/M02/95/9C/wKioL1kXsDzjYplCAAELDWJSXuI719.jpg
  ⑦在一台客户端访问测试
https://s3.运维网.com/wyfs02/M02/95/9C/wKioL1kXsD2DtP-xAAF1S2g3FAk643.jpg
  4)安装php5.6.27
  ①安装libmcrypt
https://s3.运维网.com/wyfs02/M00/95/9C/wKiom1kXsD2jOoc1AAD8VDsvirM838.jpg
  ②做软链接
https://s1.运维网.com/wyfs02/M00/95/9C/wKioL1kXsD7CNU53AACfapFs6mY076.jpg
  ③安装php
https://s1.运维网.com/wyfs02/M00/95/9C/wKiom1kXsD7QJRolAAKren74Ftc428.jpg
  图中内容如下:
  ./configure--prefix=/usr/local/php5.6 --with-config-file-path=/etc--with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config--with-mysql-sock=/usr/local/mysql/mysql.sock --with-gd --with-iconv--with-libxml-dir=/usr --with-mhash --with-mcrypt--with-config-file-scan-dir=/etc/php.d --with-bz2 --with-zlib--with-freetype-dir --with-png-dir --with-jpeg-dir --enable-xml --enable-bcmath--enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex--enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf--with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip--enable-soap --without-pear --with-gettext --enable-session --with-mcrypt--with-curl && make && make install
  ④拷贝样例配置文件并修改
https://s3.运维网.com/wyfs02/M00/95/9C/wKioL1kXsD_B1qpjAADaxKfOZiw063.jpg
https://s3.运维网.com/wyfs02/M01/95/9C/wKiom1kXsD_CD9z_AAA9wsJPXY4338.jpg //设置时区
  

https://s3.运维网.com/wyfs02/M01/95/9C/wKiom1kXsD_TLb2DAAAzRxOD-Hs442.jpg//禁止显示php版本的信息
  

https://s2.运维网.com/wyfs02/M01/95/9C/wKioL1kXsECB2qVSAABC4mGUY20195.jpg//支持php短标签
  

https://s2.运维网.com/wyfs02/M01/95/9C/wKioL1kXsECTwN01AAA7mYpXFhw871.jpg//上传文件大小
https://s2.运维网.com/wyfs02/M02/95/9C/wKiom1kXsEDTA8aQAABJNrNggso332.jpg//php脚本最大执行时间
https://s2.运维网.com/wyfs02/M02/95/9C/wKiom1kXsEDxEROSAAA8zJx_8fY701.jpg
  //以秒为单位对通过POST、GET以及PUT方式接收数据时间进行限制
  

https://s4.运维网.com/wyfs02/M02/95/9C/wKioL1kXsEGAWXC4AABcIAUSDq4596.jpg
https://s2.运维网.com/wyfs02/M02/95/9C/wKioL1kXsELyKs4pAABQA0bc_CI988.jpg
  ⑤创建php-fpm服务启动脚本
https://s2.运维网.com/wyfs02/M00/95/9C/wKiom1kXsEPAHdyZAAFkYDn5w40851.jpg
  ⑥提供php-fpm配置文件并编辑
https://s1.运维网.com/wyfs02/M00/95/9C/wKioL1kXsEPQTLXgAADXu0rDvVw125.jpg
https://s1.运维网.com/wyfs02/M00/95/9C/wKiom1kXsEOC7PvzAAA_chZGfsE429.jpg
https://s1.运维网.com/wyfs02/M01/95/9C/wKiom1kXsEShWCF4AABHf21NQQ4845.jpg
https://s1.运维网.com/wyfs02/M00/95/9C/wKioL1kXsETCnyT_AABLmJz4ABE185.jpg
https://s1.运维网.com/wyfs02/M01/95/9C/wKiom1kXsEThhZaXAABCf7hbdnM876.jpg
https://s1.运维网.com/wyfs02/M01/95/9C/wKioL1kXsETAB8qSAAA738YGySY762.jpg
https://s4.运维网.com/wyfs02/M01/95/9C/wKioL1kXsEWwrNXNAABEUqNOjjE195.jpg
https://s3.运维网.com/wyfs02/M02/95/9C/wKioL1kXsHmyj4-QAABIDOPe_HM872.jpg
  ⑦启动php-fpm服务并查看
https://s3.运维网.com/wyfs02/M00/95/9C/wKiom1kXsHmgy0axAADN0pWm5LE864.jpg
  5)配置nginx支持php
https://s5.运维网.com/wyfs02/M02/95/9C/wKiom1kXsHrDZrDwAACaGqRgeD4576.jpg
  userwww www;
  worker_processes4;
  #error_log logs/error.log;
  #error_log logs/error.lognotice;
  #error_log logs/error.loginfo;
  #pid       logs/nginx.pid;
  events {
  use epoll;
     worker_connections1024;
  }
  http {
  include      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_loglogs/access.logmain;
  sendfile      on;
      #tcp_nopush   on;
     #keepalive_timeout0;
      keepalive_timeout65;
      #gzipon;
  server {
  listen       80;
         server_namelocalhost;
  charset utf-8;
         #access_log logs/host.access.logmain;
  location / {
  root   html;
  indexindex.phpindex.html index.htm;
        }
  location ~ \.php$ {
  root html;
           fastcgi_pass 127.0.0.1:9000;
           fastcgi_index index.php;
  include fastcgi.conf;
        }
         #error_page404            /404.html;
        # redirectserver error pages to the static page /50x.html
        #
         error_page   500 502 503 504/50x.html;
  location = /50x.html {
  root   html;
        }
  location /status {
  stub_status on;
        }
     }
  }
https://s5.运维网.com/wyfs02/M02/95/9C/wKioL1kXsHqyefh8AAHtx6wmgG8567.jpg
  6)测试LNMP
  进入nginx默认的网页根目录,创建.php的测试页:
https://s2.运维网.com/wyfs02/M00/95/9C/wKioL1kXsHuRPRvGAACrLsByNuA733.jpg
https://s2.运维网.com/wyfs02/M00/95/9C/wKiom1kXsHuwQIjwAAB9v4Pz6Fo581.jpg
https://s2.运维网.com/wyfs02/M00/95/9C/wKioL1kXsHyR--yqAACfa_mYrxE878.jpg
https://s2.运维网.com/wyfs02/M01/95/9C/wKiom1kXsHzC8rmbAAFAvV21ngA471.jpg
  在客户端上访问:
https://s2.运维网.com/wyfs02/M01/95/9C/wKiom1kXsH2z8WKYAAHiebot1NM767.jpg
https://s2.运维网.com/wyfs02/M01/95/9C/wKioL1kXsH3xDtTFAAB3u9CVDVo681.jpg
  至此,LNMP部署完毕。
  三、监控系统Zabbix-3.2.1的安装
  1)zabbix-server端的操作
  说明:zabbix服务器端要提前安装好LNMP环境(mysql,nginx,php5的安装目录均是/usr/local)
  ①创建zabbix运行的用户
https://s2.运维网.com/wyfs02/M01/95/9C/wKioL1kXsH2SaLu8AAEzjyVlLqk657.jpg
  ②安装libcurl和net-snmp等依赖包
https://s3.运维网.com/wyfs02/M02/95/9C/wKiom1kXsH6xbkoiAAC9zk_85g8431.jpg
  图中内容如下:
  yum-y install net-snmp net-snmp-devel curl-devel java-1.8.0-openjdkjava-1.8.0-openjdk-devel OpenIPMI-devellibssh2-devel
  注意:OpenIPMI-devel 和libssh2-devel软件包必须使用centos在线yum软件源安装。
  ③安装Fping
https://s3.运维网.com/wyfs02/M02/95/9C/wKiom1kXsH6RirUUAAEG1XABPJM382.jpg
https://s3.运维网.com/wyfs02/M02/95/9C/wKioL1kXsH_zC2wuAAGZlohOGdo387.jpg
  ④安装zabbix Server
https://s5.运维网.com/wyfs02/M02/95/9C/wKioL1kXsH-TWLX_AAFVHFZ9l4E562.jpg
  图中内容如下:
  ./configure--prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java--with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl--with-openipmi && make && make install
  注意:
  ⑴编译时最好带上--enable-java这个参数,方便后续监控tomcat程序所用。
  ⑵--with-ssh2是不需要在客户端服务器上面安装Zabbix agent,如果需要使用ssh检查,需要在编译的时候加上这项,最低需要libssh2 1.0.0版本,需要安装ssh开发包
  ⑶--with-openipmi用户可以利用IPMI 监视服务器的物理特征,如温度、电压、电扇工作状态、电源供应等。
  ⑷如果添加了--enable-proxy, 那么会生成get和sender两条命令. 如下, 用于接收agent发生过来的信息, 同时发送给server。
  ⑤添加系统软连接
https://s4.运维网.com/wyfs02/M00/95/9C/wKiom1kXsIDwDQC7AAEWSU-jnLA590.jpg
  2)zabbix server配置与启动
  ①创建zabbix数据库和mysql用户
https://s5.运维网.com/wyfs02/M00/95/9C/wKioL1kXsIDTkPqvAACv0fPek6w970.jpg
https://s5.运维网.com/wyfs02/M00/95/9C/wKiom1kXsIDA9DNkAAEAWSJCNG0147.jpg
  ②导入zabbix初始数据
  切换到zabbix的解压目录下:
https://s4.运维网.com/wyfs02/M00/95/9C/wKioL1kXsIGRc-NWAAIl89KnmGE055.jpg
  进行zabbix初始数据导入:
https://s4.运维网.com/wyfs02/M01/95/9C/wKiom1kXsIHScMU4AAHv0U90GQo921.jpg
  ③编辑/usr/local/zabbix/etc/zabbix_server.conf
https://s4.运维网.com/wyfs02/M01/95/9C/wKiom1kXsIKhbb1sAACce9M9YcQ239.jpg
https://s4.运维网.com/wyfs02/M01/95/9C/wKioL1kXsILwFPTlAABg1vHhO4A047.jpg
https://s4.运维网.com/wyfs02/M01/95/9C/wKioL1kXsILTgqvcAABj4Bbu65k967.jpg
https://s4.运维网.com/wyfs02/M02/95/9C/wKiom1kXsIOx6lMpAAA3CtA3hRI851.jpg
https://s2.运维网.com/wyfs02/M02/95/9C/wKiom1kXsIOgDEb4AAAxJUHfED4203.jpg
https://s5.运维网.com/wyfs02/M02/95/9C/wKioL1kXsIOgTQe1AAA1Mw6L4KY623.jpg
https://s2.运维网.com/wyfs02/M02/95/9C/wKioL1kXsIOA-rGdAAA9XR_CW3U101.jpg
https://s5.运维网.com/wyfs02/M00/95/9C/wKiom1kXsISScp5TAAAwwH9QmHg287.jpg
https://s5.运维网.com/wyfs02/M00/95/9C/wKioL1kXsISwAQMqAABgbbthCPY885.jpg
https://s5.运维网.com/wyfs02/M01/95/9C/wKiom1kXsIShDy2DAAEiHMpOjAI504.jpg
  ④启动zabbix server
https://s2.运维网.com/wyfs02/M01/95/9C/wKioL1kXsIWQDKK1AAEdgy-QOKE618.jpg
  从上图可以看到启动zabbix server服务失败了。
  我们先分析下失败原因:
  从图上可以看出,说是没发现libmysqlclient.so.20这个库文件。那我们用find命令搜索一下看一看,到底有没有这个文件:
https://s2.运维网.com/wyfs02/M00/95/9C/wKiom1kXsIXzTSCgAAIYiP2W5yk296.jpg
  libmysqlclient.so.20这个库文件确实存在。现在我们再去看看ld.so.conf文件,看看里面有没有libmysqlclient.so.20的路径。
https://s4.运维网.com/wyfs02/M02/95/9C/wKioL1kXsKvRLRqdAADv7BlQ4zw438.jpg
  可以看见里面没有libmysqlclient.so.20的路径,我们把libmysqlclient.so.20路径添加到ld.so.conf里面即可。
  注明:ld.so.conf文件是系统搜索动态连接库的目录设置,在这个文件里面写下的地址系统在运行程序时会自动去这些个目录里面找需要的动态库文件
  解决办法如下:
  ⑴进入ld.so.conf文件
https://s2.运维网.com/wyfs02/M02/95/9C/wKiom1kXsKzSb8WyAACtaOXm5N8605.jpg
  ⑵在末尾新增两行内容
https://s3.运维网.com/wyfs02/M00/95/9C/wKiom1kXsKyyBb4ZAADqesMo3iI757.jpg
  ⑶让其修改生效
https://s2.运维网.com/wyfs02/M00/95/9C/wKioL1kXsKzDPlvcAAC72ZJSFSg535.jpg
  再次尝试启动:
https://s3.运维网.com/wyfs02/M02/95/9C/wKioL1kXsK3SLeVIAAENwo766Nw537.jpg
  从上图我们可以看到启动后没有报错,启动成功了,确认一下服务是否真正开启,我们可以看到zabbix_server默认监听的端口号是10051。
  ⑤添加开机启动脚本
https://s3.运维网.com/wyfs02/M00/95/9C/wKiom1kXsK3RNpRoAAKF92xYK1w544.jpg
  ⑥修改zabbix开机启动脚本中的zabbix安装目录
  编辑服务端配置文件:
https://s1.运维网.com/wyfs02/M01/95/9C/wKiom1kXsK7wn-TBAADd79ClHg0018.jpg
https://s1.运维网.com/wyfs02/M01/95/9C/wKioL1kXsK6QwxVPAABHEaX80z4595.jpg
  //zabbix安装目录
https://s1.运维网.com/wyfs02/M02/95/9C/wKiom1kXsK6Cbl7iAABZeDGcUr4583.jpg
  //pid文件路径
  编辑客户端配置文件:
https://s3.运维网.com/wyfs02/M02/95/9C/wKioL1kXsK_T6pbgAADmnrZ7PgY065.jpg
https://s2.运维网.com/wyfs02/M02/95/9D/wKiom1kXtvCibWP0AABHEaX80z4711.jpg
https://s2.运维网.com/wyfs02/M02/95/9D/wKioL1kXtvGgWk8SAABZeDGcUr4185.jpg
  ⑥重载systemctl,并重新启动zabbix_server服务
https://s3.运维网.com/wyfs02/M00/95/9C/wKiom1kXsK-RMy7bAAIxmMF068w381.jpg
  ⑦在防火墙上开启10051端口例外
https://s3.运维网.com/wyfs02/M00/95/9C/wKioL1kXsLCzqiuoAAEiUYGtzQg619.jpg
  3)配置zabbix web页面
  ①在安装目录将frontends拷贝到指定的web root:
https://s3.运维网.com/wyfs02/M00/95/9C/wKioL1kXsLCz2fz4AAEPnhpFPYg227.jpg
  注1:/usr/local/nginx/html为Nginx默认站点目录
  注2:www为Nginx运行账户
  注3:PHP需要至少开启扩展:
  gd,bcmath,ctype,libXML,xmlreader,xmlwriter,session,sockets,mbstring,gettext,mysql
  ②查看是否包括了上面所提到的所有扩展模块
https://s3.运维网.com/wyfs02/M01/95/9C/wKiom1kXsLHhxVELAAMDXFFPBGA506.jpg
https://s3.运维网.com/wyfs02/M01/95/9C/wKioL1kXsLKwrMTrAAIllpVq9bM498.jpg
  从上图里看到的扩展和注3进行对比,少一个都不行,少一个你都没有继续做下去的必要了。
  我这里可以对比出,全部的扩展模块都存在了。
  ③在页面上安装zabbix_server
  说明:访问Web界面http://192.168.1.8/zabbix,进行相关web配置,配置完成后使用默认用户admin(密码:zabbix)登陆即可。
  ⑴进入ZABBIX WEB安装画面
https://s3.运维网.com/wyfs02/M02/95/9C/wKiom1kXsLLxwt8eAAEXc815W5s772.jpg
  ⑵进入ZABBIX检测画面
https://s1.运维网.com/wyfs02/M01/95/9C/wKiom1kXsLPivbCkAAEfKQXRGuk990.jpg
  ⑶对数据库进行设置,这里如果数据库在本地的话端口可以使用0
https://s2.运维网.com/wyfs02/M02/95/9C/wKioL1kXsLSjstW0AAEXS0OUTtQ894.jpg
  ⑷点击Next step,下一步步进行zabbix server 细节的设置这一步可以默认
https://s2.运维网.com/wyfs02/M01/95/9C/wKioL1kXsLTictYpAADgGcSLHZQ630.jpg
  ⑸点击安装,安装完成后,如果没有错误就会进入完成画面
https://s3.运维网.com/wyfs02/M00/95/9C/wKiom1kXsLXh_C9hAADw7d90l1s606.jpg
https://s3.运维网.com/wyfs02/M02/95/9C/wKiom1kXsLWA9Mz0AADpP7aD3PA196.jpg
  ⑹使用账号:admin,用默认密码:zabbix 登录
https://s2.运维网.com/wyfs02/M02/95/9C/wKioL1kXsLbQX3FCAAF5TYQ4WVs879.jpg
  ⑺登录后画面如下
https://s2.运维网.com/wyfs02/M00/95/9C/wKioL1kXsLaj-qqtAAHPRjfCTvw248.jpg
  至此 ZABBIX的基础安装完成。
  ④此时你看到的是英文页面,我们现在让其显示简体中文页面
  ⑴由于在安装数据库时已经将zabbix库设置了utf-8字符
  首先确定zabbix开启了中文支持功能:
  说明:登录到zabbix服务器的数据目录下(前面部署的zabbix数据目录是/usr/local/nginx1.10/html/zabbix/),打开locales.inc.php文件。
https://s1.运维网.com/wyfs02/M00/95/9C/wKiom1kXsLej9WPaAADkbZ-Ebhs320.jpg
https://s3.运维网.com/wyfs02/M01/95/9C/wKiom1kXsLfxhsjTAAA7SwoGiMQ820.jpg
  我们可以从第55行看到,zabbix是支持简体中文的。
  ⑵登陆zabbix后,点击右上角的“用户”图标,将语言设置为“中文”
https://s3.运维网.com/wyfs02/M00/95/9C/wKioL1kXsLfD7M5wAACjpXNsvfo462.jpg
https://s1.运维网.com/wyfs02/M01/95/9C/wKioL1kXsLjjE0KuAAJERqN6CXg764.jpg
  ⑤解决zabbix绘图中出现中文乱码问题
  ⑴从windows下控制面板->字体->选择一种中文字库。
  例如“楷体”
https://s1.运维网.com/wyfs02/M01/95/9C/wKiom1kXsLiwYWFXAAEq_ZnzKPM039.jpg
  ⑵把它拷贝到zabbix的web端的fonts目录下
https://s1.运维网.com/wyfs02/M02/95/9C/wKiom1kXsLmCopwkAAKp3FuA4Gw974.jpg
  ⑶把原有的字体文件DejaVuSans.ttf移动到别处
https://s5.运维网.com/wyfs02/M02/95/9C/wKioL1kXsLmy3rbGAAEBFl-AMXc572.jpg
  注意:如果你的simkai文件的后缀TTF是大写字母,一定要改成小写字母ttf。
  ⑷接着修改代码include/defines.inc.php文件中的字体配置,将里面关于字体设置从DejaVuSans替换成simkai   
https://s5.运维网.com/wyfs02/M01/95/9C/wKioL1kXsLqz5TOuAAGIEvOLHj8371.jpg
https://s5.运维网.com/wyfs02/M02/95/9C/wKiom1kXsLrRSXL7AABTpeZeiq4499.jpg
  这样,修改后,zabbix监控图形中的中文字就不会出现乱码了。
  四、zabbix客户端的安装
  说明:既然要监控,我们就要添加要监控的主机,在添加主机之前我们首先要在被检测主机上面安装agent,安装agent比较简单,我们也是按照安装server的流程,下载软件包,在编译的时候,我们只选择agent即可。
  192.168.1.9作为zabbix的被监控端,它提供web和mysql应用服务。
  1)安装zabbix,配置zabbix agent
  ①安装zabbix agent
https://s1.运维网.com/wyfs02/M00/95/9C/wKiom1kXsOvBQAQQAADuNeKrHPs140.jpg
https://s1.运维网.com/wyfs02/M00/95/9C/wKioL1kXsOyA7D_wAAF0mUC87hQ201.jpg
  ②配置开机自动启动
https://s1.运维网.com/wyfs02/M00/95/9C/wKiom1kXsOyjebH1AAFgzTCYJoQ438.jpg
  ③修改zabbix开机启动脚本中的zabbix安装目录
  编辑客户端配置文件:
https://s1.运维网.com/wyfs02/M01/95/9C/wKiom1kXsOzgt71yAADg2X-L9nU447.jpg
https://s3.运维网.com/wyfs02/M00/95/9C/wKioL1kXsO2ykrLYAABRU5aWU9E808.jpg
https://s3.运维网.com/wyfs02/M01/95/9C/wKiom1kXsO2wsWD1AABU__MKqDk746.jpg
  ④重载systemctl
https://s2.运维网.com/wyfs02/M01/95/9C/wKioL1kXsO2A-qXmAADd7lnELgM412.jpg
  ⑤编辑zabbix_agentd.conf文件
https://s2.运维网.com/wyfs02/M02/95/9C/wKiom1kXsO6zSaAJAAEuYBhZ5GM253.jpg
https://s2.运维网.com/wyfs02/M01/95/9C/wKioL1kXsO6ACEGTAABpgfQePso304.jpg
https://s2.运维网.com/wyfs02/M02/95/9C/wKioL1kXsO7zkRI6AABgZzigBzo814.jpg
https://s2.运维网.com/wyfs02/M02/95/9C/wKiom1kXsO-xhIT3AAA9MOMur0c989.jpg
https://s2.运维网.com/wyfs02/M00/95/9C/wKiom1kXsO-C2RjyAAA3C3xJij0556.jpg
https://s2.运维网.com/wyfs02/M00/95/9C/wKioL1kXsO_iok_LAABNvAtr10s670.jpg
https://s2.运维网.com/wyfs02/M02/95/9C/wKioL1kXsPCDn7JZAABHtqU7eJg807.jpg
https://s2.运维网.com/wyfs02/M00/95/9C/wKiom1kXsPDy0PYyAAAjxcpDzWU754.jpg
https://s2.运维网.com/wyfs02/M01/95/9C/wKiom1kXsPDDTlH0AABePngqxvc364.jpg
  注明:其中Server和ServerActive都指定zabbixserver的IP地址,不同的是,前者是被动后者是主动。也就是说Server这个配置是用来允许192.168.1.8这个ip来我这取数据。而serverActive的192.168.1.8的意思是,客户端主动提交数据给他。
  Hostname=XXX,这个定义的名字必须和web页面里面host的名字一样。
  ⑥启动zabbix_agentd
https://s5.运维网.com/wyfs02/M00/95/9C/wKioL1kXsPGipj9gAAD9xFMCM_s042.jpg
  ⑦防火墙开启10050端口例外
https://s5.运维网.com/wyfs02/M01/95/9C/wKiom1kXsPHhwfDCAAEcnHIu_Gc411.jpg
  到此,zabbix3.2.1监控系统的基本环境安装完成。
  2)实现zabbix添加监测项,添加对Linux主机的监控
  说明:先在“配置”-“主机”里添加主机监控,监控os资源:内存,cpu,io,负载,带宽等.
  ①登录zabbix,先在“配置”-“主机”里单击”创建主机”:
https://s3.运维网.com/wyfs02/M01/95/9C/wKioL1kXsPLQVdyfAAEiCY54H1E313.jpg
  ②在“主机”标签,填写相关信息
https://s3.运维网.com/wyfs02/M02/95/9C/wKiom1kXsPLSU51sAAFyjVEOevI236.jpg
https://s3.运维网.com/wyfs02/M01/95/9C/wKioL1kXsPOwPVjGAACstQIZQM0918.jpg
  其它选项默认即可。
  ③在“模板”标签,填写相关信息
https://s4.运维网.com/wyfs02/M02/95/9C/wKioL1kXsPOgeXO2AADoXAgnhfs391.jpg
https://s4.运维网.com/wyfs02/M02/95/9C/wKiom1kXsPSjvHZ_AAK2ovW5By8592.jpg
https://s3.运维网.com/wyfs02/M00/95/9C/wKiom1kXsPTSXRlDAADQKNQesEM318.jpg
https://s1.运维网.com/wyfs02/M00/95/9C/wKioL1kXsPWyXUdYAADbzg-pdvk263.jpg
  至此,Zabbix监控Linux主机设置完成,如下图所示:
https://s1.运维网.com/wyfs02/M02/95/9C/wKioL1kXsPXQMpHpAAF_SDWF3fk039.jpg
  ④过一段时间后,可以来观察监控图效果出来了没有
https://s2.运维网.com/wyfs02/M00/95/9C/wKiom1kXsPWi5XQtAAC7JMlr7Us803.jpg
  3)添加对Linux主机的mysql的监控
  说明:zabbix3.0 server已自带mysql的模板了,只需配置好agent客户端,然后在web端给主机增加模板就行了。
  ①首先在客户端的mysql里添加权限,即本机使用zabbix账号连接本地的mysql(在zabbix_agent客户端上操作)
https://s1.运维网.com/wyfs02/M01/95/9C/wKiom1kXsPbjlFP9AACl8dKVcgI844.jpg
https://s1.运维网.com/wyfs02/M01/95/9C/wKioL1kXsPaTnUffAAEcWnI8m3U608.jpg
  ②在zabbix_agent服务目录下创建.my.cnf 连接文件(注意有个“.”)
  说明:zabbix安装目录是/usr/local/zabbix
https://s1.运维网.com/wyfs02/M02/95/9C/wKiom1kXsPbT12iPAAEUSitoaZk742.jpg
https://s2.运维网.com/wyfs02/M00/95/9C/wKioL1kXsPfRJmq6AAC087abhEg673.jpg
  注意:
  ⑴如果在数据库grant授权时,针对的是localhost,这个.my.cnf里面就不用加host参数了【就如上面的配置】
  ⑵如果grant授权时针对的是本机的ip(如192.168.1.9),那么在.my.cnf文件里就要加上host参数进行指定了
  即在.my.cnf文件就要加上:
  host=192.168.1.9
  socket=/usr/local/mysql/mysql.sock
  user=zabbix
  password=123456
  ③配置mysql的key文件
  说明:这个可以从zabbix3.2安装时的解压包里拷贝过来
  从zabbix_server服务端安装时解压目录/root/zabbix-3.2.1/conf/zabbix_agentd/userparameter_mysql.conf拷贝到zabbix_agent客户端上的/usr/local/zabbix/etc/zabbix_agentd.conf.d/ 目录下。
https://s2.运维网.com/wyfs02/M02/95/9C/wKioL1kXsPewIZOUAAFFupOww_I847.jpg
  ④查看 userparameter_mysql.conf 文件,看到类似HOME=/var/lib/zabbix 的路径设置,把路径全都替换为/usr/local/zabbix/etc/,也就是上面的.my.cnf文件所在的目录路径。
  另外,注意userparameter_mysql.conf 文件里的mysql命令路径(提前做好mysql的系统环境变量,以防mysql命令不被系统识别)。
https://s4.运维网.com/wyfs02/M00/95/9C/wKiom1kXsU7BRVS_AACSyYCdLPM859.jpg
https://s4.运维网.com/wyfs02/M00/95/9C/wKioL1kXsU6wwB32AAB5Ht9SJwA188.jpg
https://s4.运维网.com/wyfs02/M01/95/9C/wKiom1kXsU_w0Qn8AAE8wh9X4GQ313.jpg
https://s4.运维网.com/wyfs02/M00/95/9C/wKioL1kXsU-gHgoAAABwT2UwoWQ765.jpg
  ⑤重启zabbix_agent服务
https://s2.运维网.com/wyfs02/M01/95/9C/wKiom1kXsVCikGC4AAHlaL8ZN_M460.jpg
  注明:如果stop关不了服务,可以使用“pkill -9 zabbix_agent”命令强制杀死进程。
  另外还可以使用“/usr/local/zabbix/sbin/zabbix_agentd”开启服务。
  ⑥接着在zabbix_server服务端进行命令行测试
https://s1.运维网.com/wyfs02/M01/95/9C/wKioL1kXsVCTu2WhAADjRHtCuy0017.jpg
  解决办法如下:
  ⑴在userparameter_mysql.conf中关于mysql命令前面添加绝对路径(在zabbix_agent上操作)
https://s2.运维网.com/wyfs02/M01/95/9C/wKioL1kXsVDg7B6PAACMnV5Ys78750.jpg
  ⑵修改三个地方
https://s2.运维网.com/wyfs02/M02/95/9C/wKiom1kXsVGDK62BAACTSJrCoWE237.jpg
https://s1.运维网.com/wyfs02/M02/95/9C/wKiom1kXsVGAj5iVAAFCTUvHAyM506.jpg
https://s2.运维网.com/wyfs02/M02/95/9C/wKioL1kXsVKjLx_dAABhoxM085E399.jpg
  ⑶重启服务
https://s3.运维网.com/wyfs02/M00/95/9C/wKiom1kXsVLw0BKXAAEpquAPW80816.jpg
  再次回到zabbix_server服务端进行命令行测试:
https://s3.运维网.com/wyfs02/M02/95/9C/wKioL1kXsVORiqosAACw613DuEQ142.jpg
  注明1:如果出现类似这一串key的数字,就说明配置ok,服务端能监控到客户端的mysql数据了!
  成功了之后在监控界面增加主机对应的MySQL模板就ok了。
  注明2:
  zabbix_get命令介绍
  参数说明:
  -s--host:指定客户端主机名或者IP
  -p--port:客户端端口,默认10050
  -I--source-address:指定源IP,写上zabbix server的ip地址即可,一般留空,服务器如果有多ip的时候,你指定一个。
  -k--key:你想获取的key
  zabbix_get获取数据:
  ⑴获取负载
https://s4.运维网.com/wyfs02/M00/95/9C/wKiom1kXsVOR34pQAACiG4x57sw421.jpg
  ⑵获取主机名
https://s4.运维网.com/wyfs02/M00/95/9C/wKioL1kXsVTSClU0AACW7tX8uJ0317.jpg
  ⑦登录zabbix监控界面,在“配置”-“模板”里可以看到自带的mysql监控模板
https://s4.运维网.com/wyfs02/M00/95/9C/wKioL1kXsVWCdcy4AANuJMvNudo268.jpg
  ⑧在相应主机监控配置里添加mysql的监控模版(zabbix自带的)即可:
https://s1.运维网.com/wyfs02/M01/95/9D/wKiom1kXsVWxBHy5AAFp4ilNUp4787.jpg
https://s1.运维网.com/wyfs02/M01/95/9D/wKiom1kXsVax3BHXAAFVh84eBiU167.jpg
https://s3.运维网.com/wyfs02/M01/95/9C/wKioL1kXsVeQt6KmAACCZDWpLng136.jpg
https://s3.运维网.com/wyfs02/M02/95/9D/wKiom1kXsVjgMAKnAACpQ_FsE8I953.jpg
https://s5.运维网.com/wyfs02/M01/95/9C/wKioL1kXsVigIhPeAAEiYXkuQSs990.jpg
  ⑨下面是mysql监控项的效果图
  ⑴监控mysql的带宽:在zabbix前端可以实时查看mysql发送接收的字节数。其中bytes received表示从所有客户端接收到的字节数,bytes sent表示发送给所有客户端的字节数。
https://s5.运维网.com/wyfs02/M02/95/9D/wKiom1kXsVjj42Y6AADcA2wuBy8639.jpg
  ⑵监控mysql的操作状态:在zabbix前端可以实时查看各种SQL语句每秒钟的操作次数。
https://s3.运维网.com/wyfs02/M02/95/9C/wKioL1kXsVnzkHN7AADUZWKl9KU336.jpg
  五、zabbix3.2.1邮件报警设置
  说明:zabbix监控服务端、客户端都已经部署完成,被监控主机已经添加,zabiix监控运行正常。
  在zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱。
  具体操作如下(操作在Zabbix监控服务端进行):
  1)安装sendmail两个依赖包
https://s3.运维网.com/wyfs02/M02/95/9C/wKioL1kXsVnRUycMAACaJhnLKh8660.jpg
  2)解压sendmail,然后将sendemail复制到/usr/local/bin/目录下,并加上可执行权限,然后修改用户和群组
https://s3.运维网.com/wyfs02/M00/95/9D/wKiom1kXsVmjoUXYAAHDy-Le1ic260.jpg
  3)执行# /usr/local/bin/sendEmail -h可查看sendEmail的帮助
  4)下面开始进行发邮件测试
  ①先去申请一个邮箱,我这里以网易的163邮箱为例
  ②登录邮箱,申请授权码
https://s2.运维网.com/wyfs02/M00/95/9C/wKioL1kXsVqCUKdAAAFXAYGXf7E283.jpg
https://s1.运维网.com/wyfs02/M01/95/9D/wKiom1kXsVrDyeQOAAEEAMUIGMw412.jpg
https://s1.运维网.com/wyfs02/M00/95/9D/wKiom1kXsVuTVCMMAACXbXXNn4c712.jpg
https://s1.运维网.com/wyfs02/M01/95/9C/wKioL1kXsVvz-qRFAAFpuxzMPdc193.jpg
https://s1.运维网.com/wyfs02/M00/95/9C/wKioL1kXsVuSmR1cAAErPol67Ac909.jpg
https://s2.运维网.com/wyfs02/M02/95/9D/wKiom1kXsVyTKIghAAG5Odx4qUU807.jpg
  注明:这里我将我的授权码设置成了123abc
  ③正式开始测试
https://s3.运维网.com/wyfs02/M01/95/9D/wKiom1kXsV3RKi-NAALdNoJLSzY025.jpg
  从上图我们看出,邮件没发成功,有报错。
  原因是:sendemail软件和perl5里面的ssl版本不兼容导致的,通过修改sendemail里面的内容可以解决这个问题。
  解决办法如下:
https://s3.运维网.com/wyfs02/M02/95/9C/wKioL1kXsV3gH7GfAADLfKOY7Fs334.jpg
  1906行改为如下内容:
https://s3.运维网.com/wyfs02/M00/95/9D/wKiom1kXsYrgTRK5AABFXN0f9PI773.jpg
  再次进行重试测试:
https://s3.运维网.com/wyfs02/M00/95/9D/wKioL1kXsYuBiTD2AAKlOcAjVcE054.jpg
  我们去邮箱查看:
https://s2.运维网.com/wyfs02/M01/95/9D/wKiom1kXsYvzn0LxAACsE9o-las169.jpg
  命令主要选项说明:
  /usr/local/bin/sendEmail                     #命令主程序
  -ffrom@126.com                              #发件人邮箱
  -tto@126.com                                    #收件人邮箱
  -ssmtp.126.com                                  #发件人邮箱的smtp服务器
  -u"我是邮件主题"                                 #邮件的标题
  -omessage-content-type=html          #邮件内容的格式,html表示它是html格式
  -omessage-charset=utf8                   #邮件内容编码
  -xufrom@126.com                            #发件人邮箱的用户名
  -xp123abc                                        #发件人邮箱密码或授权码
  -m"我是邮件内容"                           #邮件的具体内容
  5)测试成功了,我们还可以创建报警脚本,自动给我们发邮件
  ①进入/usr/local/zabbix/share/zabbix/alertscripts/目录
https://s2.运维网.com/wyfs02/M01/95/9D/wKioL1kXsYvgCmcxAADDYuxABdY829.jpg
  ②创建脚本
https://s5.运维网.com/wyfs02/M01/95/9D/wKioL1kXsYzwYUhyAACxtCQVclA247.jpg
https://s5.运维网.com/wyfs02/M02/95/9D/wKiom1kXsYySkz51AADGfAHCuho961.jpg
  图中内容如下:
  #!/bin/bash
  to=$1
  subject=$2
  body=$3
  /usr/local/bin/sendEmail-o tls=auto -f dabiaoge999@126.com -t "$to" -s smtp.126.com -u"$subject" -o message-content-type=html -o message-charset=utf8 -xu dabiaoge999@126.com -xp 123abc -m "$body"
  ③给脚本可执行权限
https://s5.运维网.com/wyfs02/M02/95/9D/wKioL1kXsY2CKLarAAEDvoMgYSM630.jpg
  ④执行脚本测试发邮件
https://s5.运维网.com/wyfs02/M02/95/9D/wKiom1kXsY7gWmjCAALpfzmeD_Q402.jpg
  ⑤再次去邮箱看一下
https://s1.运维网.com/wyfs02/M00/95/9D/wKiom1kXsY7BccUhAAF_WWwJCtU430.jpg
  6)zabbix web端配置
  ①上面的邮件脚本配置好后,就要在web端添加报警媒介,在web页面的管理,报警媒介类型页面,点击右边的创建媒体类型
https://s4.运维网.com/wyfs02/M02/95/9D/wKioL1kXsY-iL-PqAACb6tOgbi4763.jpg
  ②进入创建页面,然后输入名称“邮件报警脚本”,类型选择脚本,名称选择mail.sh,点击添加按钮,添加三个脚本参数,分别是{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESSAGE},分别对于mail.sh中的to、subject和body。添加完成后点下面的添加按钮,我们的报警媒介就创建完成了。
https://s4.运维网.com/wyfs02/M00/95/9D/wKioL1kXsZDxFJo2AAFob01kD7s078.jpg
https://s3.运维网.com/wyfs02/M01/95/9D/wKioL1kXsZDDbAvcAAEJJiRI0lo572.jpg
  ③创建好报警媒介后,就需要将报警媒介关联到我们的用户。点击管理,用户,然后选择我们的用户admin也可新建一个用户,点击用户名就进入到用户配置界面。点击报警媒介,然后点添加,选择我们上一步创建的邮件报警脚本,输入收件人,选择报警时间和类型,然后点击添加,就将创建好的报警媒介关联到我们的用户上面了。
https://s3.运维网.com/wyfs02/M02/95/9D/wKioL1kXsZGh3-phAAEqxuU0cLo210.jpg
https://s3.运维网.com/wyfs02/M00/95/9D/wKiom1kXsZHhTZf-AADwAcbddd0717.jpg
https://s3.运维网.com/wyfs02/M00/95/9D/wKiom1kXsZKTnCrSAADPknNg-G4098.jpg
https://s1.运维网.com/wyfs02/M00/95/9D/wKioL1kXsZLyjF8YAADqG-Z2lZM946.jpg
  ④现在需要做的是,创建一个触发动作,即系统出现故障时,触发这个动作,然后给我们的邮箱发送报警邮件。点击配置,选择动作,然后点击右边的创建动作。
  在动作这一页名称中写入我们定义的动作名以及触发条件。
https://s1.运维网.com/wyfs02/M00/95/9D/wKioL1kXsZOxKFwOAADO96mOs1U076.jpg
https://s2.运维网.com/wyfs02/M01/95/9D/wKiom1kXsZPhaWwgAADu_5cfgiU065.jpg
https://s4.运维网.com/wyfs02/M01/95/9D/wKioL1kXsZPz-jD-AADqqmMDNaA701.jpg
https://s2.运维网.com/wyfs02/M02/95/9D/wKiom1kXsZTSVWwSAAD8PdZ2TdU748.jpg
https://s2.运维网.com/wyfs02/M02/95/9D/wKioL1kXsZTB1eB1AAFHwzC8PlY516.jpg
https://s2.运维网.com/wyfs02/M00/95/9D/wKiom1kXsZXgDDIFAAIpWZlbcas645.jpg
  说明:步骤是1-3,也即是从1开始到3结束。一旦故障发生,就是执行Email.sh脚本发生报警邮件给zabbix用户。
  假如故障持续了1个小时,它也只发送3次,第1-3次(即前3次)邮箱发送给zabbix用户,时间间隔为0秒。
  如果改成1-0,0是表示不限制.无限发送
  接着设置“恢复操作”:
https://s3.运维网.com/wyfs02/M00/95/9D/wKioL1kXsZXS6EMNAAD_HUB9QuU298.jpg
https://s2.运维网.com/wyfs02/M01/95/9D/wKiom1kXsZayXwK1AAGrCE4fqe0909.jpg
https://s3.运维网.com/wyfs02/M01/95/9D/wKiom1kXsZazvJGWAAD-G7kc6og593.jpg
https://s1.运维网.com/wyfs02/M01/95/9D/wKioL1kXsZeT-8gFAAD576qvNnw691.jpg
  ⑤报警测试
  将192.168.1.9服务器的zabbix_agent进程关闭,然后等待邮件。
https://s1.运维网.com/wyfs02/M02/95/9D/wKiom1kXsZfhD8HvAAEKIP1fS34521.jpg
https://s1.运维网.com/wyfs02/M02/95/9D/wKioL1kXsZiA6PLaAAC_785xZv4290.jpg
  最后,点击”报表“->”动作日志“,可以看到触发动作的次数(右边还看查看到邮件发送状态“已发送”)。
https://s3.运维网.com/wyfs02/M00/95/9D/wKiom1kXuq_xK_fDAACY81pr5lo234.jpg



页: [1]
查看完整版本: 图文超详解zabbix的安装以及设置邮件报警