CentOS 7 部署zabbix-3.4
来源:互联网 发布:淘宝内部优惠群怎么做 编辑:程序博客网 时间:2024/06/04 00:43
zabbix功能特性
Zabbix有常见的商业监控软件所具备的功能
数据收集
- 可用、性能检测。
- 支持Agent、SNMP(包括Trapping和Polling)、IPMI、JMX、SSH、Telnet等。
- 自定义的检测。
- 自定义收集数据的频率。
- 服务器端/代理段和客户端模式。
灵活的触发器
可以定义非常灵活的 阀值和多种相关联的条件。
高度可定制的告警
- 发送通知,可定制包括告警级别、动作升级、收件人和媒体类型。
- 通知可以使用全局宏变量和自定义的变量。
- 自动处理功能包括远程命令的自动调用和执行。
实时的绘图功能
监控项将数据实施绘制在图形上。
Web监控能力
Zabbix可以模拟浏览器请求一个网站,并检查返回值和响应时间。
多种可视化的展示
- 可以自定义监控的展示图,将多种监控数据集中展示到一张图中。
- 网络拓扑图。
- 自定义Screens和Slide shows可以将多种图形集中展示。
- 报表功能。
- 资源使用情况的监控展示。
历史数据的存储
- 数据存储在数据库中。
- 历史数据的存放周期可配置。
- 定期删除过期的历史数据。
配置非常容易
配置比较简单,只需要以下两步即可。
第一步:添加设备。
第二步:应用模板即可完成监控。
使用模板
- 模板可以分组
- 模板具有可继承性。
网络发现
支持自动发现网络设备和服务器(可以通过配置自动发现服务规则实现。)
Agent自动发现
支持自动发现实现动态监控的批量监控(支持自定义)内置的自动发现包括文件系统、网络接口、SNMP OLD,可定制自动发现。
快速的访问接口
Web页面基于PHP
远程访问。
日志审计。
API功能
应用API功能可以方便地和其他系统结合,包括手机客户端的使用。
系统权限
不同的用户展示监控的资源不同。
对用户的身份认证
程序特性
用C语言编写,其性能和内存开销非常小。
大型环境的支持
利用Zabbix-Proxy方式即可轻松构建远程监控。
zabbix组件及进程
组件
- Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行;
- Database Storage:专用于存储所有配置信息,以及由zabbix收集的数据;
- Web interface:zabbix的GUI接口,通常与Server运行在同一台主机上;
- Proxy:可选组件,常用于分布监控环境中,代理Server收集部分被监控端的监控数据并统一发往Server端;
- Agent:部署在被监控主机上,负责收集本地数据并发往Server端或Proxy端;
注:zabbix node也是 zabbix server的一种,说zabbix-proxy会说到这块
进程
- zabbix-server
zabbix服务端的核心程序 - zabbix-proxy
是zabbix代理服务程序,用于分布式监控proxy模式中 - zabbix-agent
zabbix专用客户端的程序,源码安装的是zabbix_agentd - zabbix_java_gateway
java采集服务端,用于JMX监控方式 - zabbix_get
数据获取测试命令 - zabbix_sender
zabbix的Trapping模式,将采集到的数据通过定时任务等主动发送给zabbix-server
zabbix常用术语
- host(主机):要监控的网络设备,可由IP或DNS名称指定
- host group(主机组):主机的逻辑容器,可以包含主机和模板,但同一个组内的主机和模板不能互相链接;主机组通常在给用户或用户组指派监控权限时使用
- item(监控项):一个特定监控指标的相关数据,这些数据来自于被监控对象;item是zabbix进行数据收集的核心,没有item,将没有数据;相对某监控对象来说,每个item都有”key”进行标识
- trigger(触发器):一个表达式,用于评估某监控对象的某特定item内所接收到的数据是否在合理范围内,即阀值;接受到的数据大于阀值是,触发器状态将从OK转变为Problem,当数据量再次回归到合理范围时,其状态将从Problem转换回OK
- event(事件):即发生的一个值得关注的事件,例如触发器的状态转变,新的agent或重新上线的agent的自动注册等
- action(动作):指对于特定事件事先定义的处理方法,通过包含操作(如发送通知)和条件(何时执行操作)
- escalation(报警升级):发送警报或执行远程命令的自定义方案,如每隔5min发送一次警报,共发送5次等
- media(媒介):发送通知的手段和通道,如Email、Jabber或SMS
- notification(通知):通过选定的媒介向用户发送的有关某事件的信息
- remote command(远程命令):预定义的命令,可在被监控主机处于某个特定条件下时自动执行
- template(模板):用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application以及low-level -discovery rule;模板可以直接链接至单个主机
- application(应用):一组item的集合
- web scennaro(web场景):用于检测web站点可用性的一个或多个http请求
- frontend(前端):zabbix的web接口
zabbix-server 部署
这里基于lnmp环境来部署
MariaDB
yum源:
~]# vim /etc/yum.repos.d/MariaDB.repo[mariadb]name = MariaDBbaseurl = https://mirrors.tuna.tsinghua.edu.cn/mariadb/yum/10.1/centos7-amd64gpgkey=https://mirrors.tuna.tsinghua.edu.cn//mariadb/yum/RPM-GPG-KEY-MariaDBgpgcheck=1
安装
~]# yum install mariadb-server mariadb-client~]# systemctl start mariadb~]# systemctl enable mariadb~]# mysql_secure_installation
配置
vim /etc/my.cnf[mysqld]user = mysqldefault-storage-engine = InnoDBsocket = /var/lib/mysql/mysql.sockpid-file = /var/lib/mysql/mysql.pidkey-buffer-size = 32Mmyisam-recover = FORCE,BACKUPmax-allowed-packet = 16Mmax-connect-errors = 10000datadir = /var/lib/mysql/log-bin = /var/lib/mysql/mysql-binexpire-logs-days = 14sync-binlog = 1tmp-table-size = 32Mmax-heap-table-size = 32Mquery-cache-type = 0query-cache-size = 0max-connections = 500thread-cache-size = 50open-files-limit = 65535table-definition-cache = 4096table-open-cache = 4096innodb-log-files-in-group = 2innodb-log-file-size = 256Minnodb-flush-log-at-trx-commit = 1innodb-file-per-table = 1innodb-buffer-pool-size = 2Glog-error = /var/lib/mysql/mysql-error.loglog-queries-not-using-indexes = 1slow-query-log = 1slow-query-log-file = /var/lib/mysql/mysql-slow.logcharacter_set_server = utf8systemctl restart mariadb
安装zabbix-server
添加zabbix yum源
~]# yum install http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm -y
将repo中的一段注释掉
vim /etc/yum.repos.d/zabbix.repo#[zabbix-non-supported]#name=Zabbix Official Repository non-supported - $basearch#baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/#enabled=1#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX#gpgcheck=1
安装zabbix-server
~]# yum install -y zabbix-server-mysql zabbix-web-mysql //这个会自动装好很多依赖,比如httpd什么的,有洁癖的建议源码编译安装
创建zabbix数据库并授权用户
> create database zabbix;> grant all on zabbix.* to zabbix@'localhost' identified by '123456';> flush privileges;
导入zabbix数据库:
~]# cd /usr/share/doc/zabbix-server-mysql-3.4.1/ ]# zcat create.sql.gz | mysql -uzabbix -p123456 zabbix
配置zabbix-server
# egrep -v ^'(#|^$)' /etc/zabbix/zabbix_server.confLogFile=/var/log/zabbix/zabbix_server.logLogFileSize=0PidFile=/var/run/zabbix/zabbix_server.pidDBHost=localhostDBName=zabbixDBUser=zabbixDBPassword=123456DBSocket=/var/lib/mysql/mysql.sockStartPollers=10SNMPTrapperFile=/var/log/snmptrap/snmptrap.logTimeout=4AlertScriptsPath=/usr/lib/zabbix/alertscriptsExternalScripts=/usr/lib/zabbix/externalscriptsLogSlowQueries=3000
启动服务
systemctl start zabbix-serversystemctl enable zabbix-server
配置zabbix-web GUI
安装nginx:
yum install nginx php-fpm -y
配置nginx:
vim /etc/nginx/nginx.confuser nginx;worker_processes auto;error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid;events { worker_connections 1024; use epoll; multi_accept on;}http { include /etc/nginx/mime.types; default_type application/octet-stream; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 50m; log_format main '$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.log main; sendfile on; tcp_nopush on; server_tokens off; keepalive_timeout 65; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.0; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; charset utf-8; include /etc/nginx/conf.d/*.conf;}
配置php-fpm
# grep -i ^[a-z] /etc/php-fpm.d/www.conflisten = /dev/shm/php-cgi.socklisten.allowed_clients = 127.0.0.1listen.owner = nginxlisten.group = nginxlisten.mode = 0666user = nginxgroup = nginxpm = dynamicpm.max_children = 50pm.start_servers = 5pm.min_spare_servers = 5pm.max_spare_servers = 35slowlog = /var/log/php-fpm/www-slow.logphp_admin_value[error_log] = /var/log/php-fpm/www-error.logphp_admin_flag[log_errors] = onphp_value[session.save_handler] = filesphp_value[session.save_path] = /var/lib/php/session
添加zabbix-web的nginx配置
server { listen 80; server_name zabbix.knmax.com; index index.htm index.html index.php; root /usr/share/zabbix; if ($host != 'zabbix.knmax.com') { rewrite ^/(.*)$ http://zabbix.knmax.com/$1 permanent; } location ~ \.php$ { fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location / { if (-f $request_filename/index.html) { rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php) { rewrite (.*) $1/index.php; } if (!-f $request_filename) { rewrite (.*) /index.php; } } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } access_log /var/log/nginx/zabbix.log main; error_log /var/log/nginx/zabbix_error.log;}systemctl start nginxsystemctl enable nginxsystemctl start php-fpmsystemctl enable php-fpm
这里的域名为了安全不做dns解析,本地hosts指定下就行
修改属主权限
chown -R nginx.nginx /usr/share/zabbix/chown -R nginx.nginx /etc/zabbix/web/chmod -R 755 /usr/share/zabbix/chown -R nginx.nginx /var/lib/php/session/ 这个要注意了,没修改可能造成zabbix安装配置界面点击next step没反应,而且没有错误日志
配置php:
date.timezone = Asia/Shanghaimax_execution_time = 300memory_limit = 256Mpost_max_size = 32Mupload_max_filesize = 16Mmax_input_time = 600
访问web界面安装
URL:http://zabbix.knmax.com/setup.php
默认用户名密码:admin zabbix
监控zabbix-server服务器
安装zabbix-agent
yum install zabbix-agent -y
配置zabbix-agent
# grep -i ^[a-z] /etc/zabbix/zabbix_agentd.confPidFile=/var/run/zabbix/zabbix_agentd.pidLogFile=/var/log/zabbix/zabbix_agentd.logLogFileSize=0Server=127.0.0.1 //本机就是serverServerActive=127.0.0.1 // 主动模式需要配置的Hostname=KNMAX-MON //主机名唯一的,主动模式使用Include=/etc/zabbix/zabbix_agentd.d/*.conf
启动服务
systemctl start zabbix-agentsystemctl enable zabbix-agent
web界面启用下就行
阅读全文
0 0
- CentOS 7 部署zabbix-3.4
- CENTOS安装部署zabbix
- centos 7编译安装部署zabbix-server端
- 基于CentOS 7安装Zabbix 3.4
- CentOS 6.3下Zabbix安装部署
- CentOS 6.3下Zabbix安装部署
- CentOS 6 安装部署zabbix-2.4.5
- CentOS下Zabbix安装部署及汉化
- Centos 7 搭建 Zabbix
- centos 7 安装zabbix
- CentOS 7下【zabbix-agent】
- CentOS 7 yum安装Zabbix
- CentOS 7源码安装zabbix
- CentOS 7 yum安装Zabbix
- CentOS 7 yum安装Zabbix
- centos 7 安装 zabbix过程
- zabbix部署
- Zabbix部署。
- 如何写SysV服务管理脚本
- 图片高度自适应
- SkinSharp函数文档
- SSH远程连接服务器
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 Maximum Flow
- CentOS 7 部署zabbix-3.4
- 仿着锤子科技官网进行的一个angular4.0项目~~~
- Git学习日记(4)
- spring源码执行步骤
- window2008R2 remoteapp:RD Web 访问要求 Internet Explorer 6.0 或更高版本
- Java 中 Equals和==的区别
- 关于dao层Bean注入失败报No qualifying bean of type [xxx.xxx.xxx.xxx] is defined错误的问题
- 概率计算通用公式
- python方法