=Start=
缘由:
测试需要;研究需要。
参考解答:
Zabbix是一个开源的网络和应用监控软件。Zabbix提供agent并通过 SNMP, TCP 和 ICMP 来检查/监控远端的主机。下面是我根据官网介绍和实际操作总结的一个较为合理的源码安装Zabbix的流程:
一、安装 Zabbix 后台进程
0.安装依赖
一般情况下,完全安装Zabbix需要基于LAMP或LNMP环境(因为Zabbix有Web界面且需要和数据库打交道,并且Zabbix的Web界面是用PHP写的),所以,要完整的安装Zabbix需要先安装一些依赖(Apache、MySQL/Percona、PHP、curl、snmp、fping、……):
# yum install httpd httpd-devel # yum install mysql mysql-server 或 # yum install Percona-Server-client-55 Percona-Server-server-55 Percona-Server-devel-55 # yum install php php-cli php-common php-devel php-pear php-gd php-mbstring php-mysql php-xml php-bcmath # yum install libcurl-devel libxml2-devel net-snmp-devel fping
启动Apache和MySQL:
# /etc/init.d/httpd start # /etc/init.d/mysql start
对刚安装的MySQL进行一些安全设置:
# mysql_secure_installation
1.源码下载
# wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.1/zabbix-3.0.1.tar.gz # tar zxf zabbix-3.0.1.tar.gz # cd zabbix-3.0.1
2.创建Zabbix专用账户
# groupadd zabbix # useradd -g zabbix zabbix
3.创建Zabbix的数据库
# mysql -u<username> -p<password> mysql> create database zabbix character set utf8 collate utf8_bin; mysql> quit; # mysql -u<username> -p<password> zabbix < database/mysql/schema.sql #如果是为Zabbix proxy创建数据库,那下面的步骤其实就可以不用执行了 # mysql -u<username> -p<password> zabbix < database/mysql/images.sql # mysql -u<username> -p<password> zabbix < database/mysql/data.sql
4.编译 & 安装
# ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 # make install
5.编辑配置文件
# vim /usr/local/etc/zabbix_server.conf LogFile=/tmp/zabbix_server.log DebugLevel=3 #如果在测试环境中需要进行调试,可以将3修改成4 DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix
# vim /usr/local/etc/zabbix_agentd.conf LogFile=/tmp/zabbix_agentd.log DebugLevel=3 #如果在测试环境中需要进行调试,可以将3修改成4 Server=127.0.0.1 ServerActive=127.0.0.1 Hostname=Zabbix server
6.启动后台进程
# zabbix_server # zabbix_agentd
7.其它(调试……)
# 可以通过/tmp/zabbix*的log文件调试服务器和客户端运行情况。如果启动成功,服务会监听相应端口 # netstat -lntp | grep "zabbix" # ps aux | grep "zabbix"
二、安装 Zabbix 的Web界面
0.拷贝PHP文件至Web目录
RHEL系Linux系统中用yum安装的Apache的Web目录默认为「/var/www/html」
如果是从源码安装的Apache,则Web目录默认为「/usr/local/apache2/htdocs」
# mkdir -p /var/www/html/zabbix # cd frontends/php # cp -a . /var/www/html/zabbix
# cp /var/www/html/zabbix/conf/zabbix.conf.php.example /var/www/html/zabbix/conf/zabbix.conf.php # vim /var/www/html/zabbix/conf/zabbix.conf.php $DB["DATABASE"] = 'zabbix'; $DB["USER"] = 'root'; $DB["PASSWORD"] = 'password';
1.修改PHP配置文件
# 可以通过命令「php --ini」查看PHP的配置文件在哪,然后编辑如下项目的值: memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M max_execution_time = 300 max_input_time = 300 date.timezone = Asia/Shanghai
2.登录并修改默认密码
#用浏览器访问 http://<server_ip_or_name>/zabbix 用默认的用户名、密码为「Admin:zabbix」进行登录 #然后访问 http://<server_ip_or_name>/zabbix/profile.php 修改默认的密码(请设置复杂密码!!!)
3.其它
注意关注Apache的日志文件「/var/log/httpd/error_log」方便进行查错。
参考链接:
- http://en.wikipedia.org/wiki/Zabbix
- [官网]从源码安装Zabbix
- How To Install Zabbix Server 3.0 on CentOS/RHEL 7/6/5
- CentOS 6.5 下安装 Zabbix 2.4
- 向Zabbix服务端添加要监控的主机
- Zabbix的用户管理
- Zabbix下载
https://sourceforge.net/projects/zabbix/files/
http://www.zabbix.com/download.php - Zabbix的配置
- 关于Zabbix后台命令执行的利用
- Zabbix 监控服务器搭建
=END=
《 “在CentOS 6下从源码安装Zabbix” 》 有 15 条评论
注意几点:
1.Zabbix 3.x需要PHP版本>=5.4
2.在「安装 Zabbix 的Web界面」这一步,可以通过浏览器界面进行,否则会出现一些意想不到的错误……
3.在MySQL中「127.0.0.1」和「localhost」是不完全等价的,建议使用「127.0.0.1」
`
# sestatus
# vim /etc/selinux/config
# iptables -I INPUT -p tcp -m tcp –dport 80 -j ACCEPT
# /etc/init.d/iptables save
`
在 CentOS 6 系统上如何升级PHP 5.3至PHP 5.6
https://www.zerostopbits.com/how-to-upgrade-php-5-3-to-php-5-6-on-centos-6-7/
https://webtatic.com/packages/php56/
For CentOS 6, PHP 5.3.3 is the latest version of PHP available through the official CentOS package repository.
http://stackoverflow.com/questions/21502656/upgrading-php-on-centos-6-5-final
在CentOS机器上安装Percona的yum源
`
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
`
https://www.percona.com/doc/percona-server/5.6/installation/yum_repo.html
因为前段时间爆出了Zabbix注入漏洞,危害较大,推荐立即升级至3.0.4或以上版本:`
# wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.4/zabbix-3.0.4.tar.gz
`
https://www.zabbix.com/documentation/3.0/manual/installation/install#installing_zabbix_web_interface
http://www.zabbix.com/download.php
http://www.freebuf.com/vuls/112197.html
使用Zabbix LLD实现进程数监控
http://www.simlinux.com/archives/1872.html
Zabbix 网络监控系统被发现了两个漏洞,一个 Zabbix Proxy API 远程代码执行(CVE-2017-2824)和一个 Zabbix Proxy SQL 数据库写漏洞(CVE-2017-2825)
http://blog.talosintelligence.com/2017/04/zabbix-multiple-vulns.html
【漏洞预警】4月28日:Zabbix爆远程代码执行漏洞、数据库写入高危漏洞
http://bobao.360.cn/news/detail/4142.html
默认情况下,Zabbix的zabbix_agentd进程监听的是10050端口,zabbix_server进程监听的是10051端口,所以在没有办法登录机器检查是否安装以及启动了Zabbix的办法有:
1.直接扫描机器的10050/10051端口进行判断(但在部分情况下可能因为访问控制/白名单等因素导致漏报);
2.扫描机器的80/443端口获取banner信息进行判断(无法保证100%准确);
3.根据从流量中提取的信息进行判断(准确性有保障,但是实现难度比较大,包括:流量是否全面、分析是否准确……);
阿里安骑士
https://help.aliyun.com/document_detail/54567.html
腾讯云主机安全组件
https://www.qcloud.com/document/product/296
阿里运维基础平台StarAgent
http://www.yunweipai.com/archives/20228.html
Linux用户管理(添加、修改、删除)
`
useradd #可以用 -u 和 -g 选项明确指定新建用户的UID/GID号
userdel #可以用 -f 选项强制删除自己创建的 UID/GID 为 0 的账户
usermod
`
Linux 用户和用户组管理
http://www.runoob.com/linux/linux-user-manage.html
Linux 系统中用户/组账号的基本常用命令备忘录 #简单了解一下useradd和adduser命令的区别
http://chaishiwei.com/blog/863.html
添加及删除uid为0的用户 #一个可选方法
http://www.annhe.net/article-3020.html
https://wiki.archlinux.org/index.php/Users_and_groups_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
zabbix触发器表达式详解
https://www.centos.bz/2017/12/zabbix%E8%A7%A6%E5%8F%91%E5%99%A8%E8%A1%A8%E8%BE%BE%E5%BC%8F%E8%AF%A6%E8%A7%A3/
zabbix 按CPU核数监控负载状态
https://www.centos.bz/2017/12/zabbix-%E6%8C%89cpu%E6%A0%B8%E6%95%B0%E7%9B%91%E6%8E%A7%E8%B4%9F%E8%BD%BD%E7%8A%B6%E6%80%81/
zabbix监控supervisorctl中的服务
https://www.centos.bz/2017/12/zabbix%E7%9B%91%E6%8E%A7supervisorctl%E4%B8%AD%E7%9A%84%E6%9C%8D%E5%8A%A1/
https://www.centos.bz/tag/zabbix/
使用Zabbix LLD实现进程数监控
https://paper.tuisec.win/detail/6f13973b7c97951
http://www.simlinux.com/2017/04/19/zabbix-proccess-lld.html
`
1. 目的
2. 思路
3. 配置流程
4. 具体步骤
5. LLD自动发现脚本
6. Agent添加Key
7. 创建自动发现规则
8. 添加当前进程数监控项
9. 定义报警内容
10. 将定义好的模板链接到主机或者其他模板即可
11. 最后
`
Zabbix3.4.5新特性:历史数据支持Elasticsearch
https://paper.tuisec.win/detail/ee7c8d212ce3314
http://www.simlinux.com/2018/01/09/zabbix-es.html
`
Zabbix自3.4.5rc1版本开始支持Elasticsearch作为历史数据存储,17年12月28日发布了3.4.5
1. 特性功能
2. 部署Elasticsearch
3. Zabbix3.4.0升级至3.4.5
4. Zabbix_server配置支持Elasticsearch
5. Zabbix Web配置历史数据读Elasticsearch
6. 重启Zabbix Server
7. 测试
`
zabbix-threat-control – Zabbix 漏洞评估插件
https://github.com/vulnersCom/zabbix-threat-control
Zabbix Agent 一键安装脚本
https://www.cmsky.com/zabbix-agent-onekey/
https://www.xjh.me/4132.html
https://github.com/littleplus/ZabbixAgentInstaller
这么多监控组件,总有一款适合你
https://mp.weixin.qq.com/s/rdD54-zyapjlubM5K1jUeQ
`
监控系统的划分:
数据象限 从数据类型划分,大体可分为:日志(logs)、监控(metrics)、调用链(tracing)。
功能象限 从业务角度划分,可分为:基础监控、中间件监控、业务监控
不管什么样的监控系统,又涉及以下几个模块过程:
❏ 数据收集。如何在广度和效率上进行数据归并。
❏ 数据加工。数据的整理、传输和存储。
❏ 特称提取。大数据计算,中间结果生成存储。
❏ 数据展示。高颜值、多功能显示。
监控体系的复杂之处就在于杂,如何理清其中的关系,给用户一个合理的思考模式,才是最重要的,此所谓产品体验优先。从整个的发展历程中可以看到,标准化是对技术最好的改进,但也要经历一个群魔乱舞的年代。既得利益者会维护自己的壁垒,拒绝接纳和开放,然后猛然间发现,自己的东西已经落伍,跟不上时代的脚步了。
`