zabbix源码安装 令人窒息的操作
一.简介
zabbix-server主要分为2部分:
- zabbix程序 程序根据客户端的监控项,从客户端获取数据并写入到数据库,再根据触发器/动作等配置进行操作。
- 展示页面 使用php编写,php脚本从数据库获得信息,用httpd或者nginx等网页服务器展示出来。
根据上述说明,zabbix需要部署在lamp或者lnmp上面,对于php页面来说,用apache好一些。
二.环境
[zabbix-server]
主机名 = host-1
系统 = centos-7.3
地址 = 1.1.1.1
软件 =
httpd-2.4 80
mariadb-5.5 3306
php-fpm-5.4 9000
zabbix-server-3.4 10051 [zabbix-agent]
主机名 = host-2
系统 = centos-7.3
地址 = 1.1.1.2
软件 =
zabbix-agent-3.4 10050
三.配置
配置服务端程序
操作服务器(host-1)
1.yum部署lamp
♠.安装LAMP和依赖
yum -y install httpd php php-fpm php-mysql mariadb mariadb-server mariadb-devel
♠.启动并加入到自启动中
systemctl restart httpd mariadb php-fpm
systemctl enable httpd mariadb php-fpm
♠.创建一个简单的php脚本,测试httpd是否支持php,php是否可以连接mysql,mysql是否已启动
vim /var/www/html/linkdb.php <?php
$db=mysql_connect("localhost","root","");
if($db){
echo "ok";
}else{
echo "no";
}
?>
返回ok则正常,返回no则检查数据库是否可以不用密码就登录,如果有默认密码,需要修改php脚本
curl http://127.0.0.1/linkdb.php
2.安装依赖包
yum -y install gcc gcc-c++ libevent-devel php-bcmath php-gd php-xml php-mbstring
3.创建账号,为安全起见禁止登录
groupadd zabbix
useradd -g zabbix -s /sbin/nologin zabbix
4.下载源码包
wget https://shell-auto-install.oss-cn-zhangjiakou.aliyuncs.com/package/zabbix-3.4.1.tar.gz
tar -xf zabbix-3.4.1.tar.gz
cd zabbix-3.4.1
5.选择参数,当前只开启了服务端,其余编译参数如下
./configure --prefix=/usr/local/zabbix --enable-server --with-mysql
第一行是添加这个参数,需要安装的yum包,第二行是参数名
net-snmap-devel
--with-net-snmp libcurl-devel curl-devel
--with-libcurl libxml2-devel
--with-libxml2 OpenIPMI-devel
--with-openipmi unixODBC-devel
--with-unixodbc
6.编译安装
make install
7.将php脚本复制到html目录下
cp -r frontends/php/* /var/www/html/
8.添加所有权限到php脚本,当然这种方式比较危险,具体在zabbix前端页面会说明对哪些脚本要权限,逐个改
chmod -R 777 /var/www/html
9.登陆mariadb并创建zabbix用户,当前mariadb无密码
MariaDB [(none)]> create database zabbixdb character set utf8;
MariaDB [(none)]>grant all on zabbixdb.* to zabbixuser@"localhost" identified by "123456";
MariaDB [(none)]>quit
10.按顺序导入zabbix自带的数据库
mysql -uzabbixuser -p123456 zabbixdb < database/mysql/schema.sql
mysql -uzabbixuser -p123456 zabbixdb < database/mysql/images.sql
mysql -uzabbixuser -p123456 zabbixdb < database/mysql/data.sql
11.修改php参数,符合zabbix要求
vim /etc/php.ini post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai
12.重启服务
systemctl restart httpd php-fpm
配置服务端网页
操作服务器(host-1)
1.访问http://1.1.1.1
2.LDAP是特殊配置,不用管
3.数据库:zabbixdb 账号:zabbixuser 密码:123456
4.地址和端口都默认,Name可以不写或者随便写
5.确定信息后下一步即可
6.若遇到这一步,是因为zabbix对/var/www/html/conf/没有权限或者没写写进去。需要手动将文件下载,然后传入到服务器的/var/www/html/conf/zabbix.conf.php中刷新即可
7.登录,设置为中文。管理员:admin 密码:zabbix
更改为中文后,update更新
最下面或提示zabbix-server未启动,下面将启动zabbix服务端
启动zabbix-server
操作服务器(host-1)
1.复制并修改启动脚本,将安装目录替换为设置目录
cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
chmod +x /etc/init.d/zabbix_server vim /etc/init.d/zabbix_server BASEDIR=/usr/local/zabbix
2.修改配置文件,填写数据库信息,前端页面是告诉php脚本从哪个数据库获得信息展示,这里告诉后端程序将收集的信息写入哪个数据库
vim /usr/local/zabbix/etc/zabbix_server.conf DBName=zabbixdb #数据库名
DBUser=zabbixuser #数据库用户名
DBPassword=123456 #数据库用户密码
3.启动并检查端口是否正常,因为很多时候显示启动但并没有真正启动
/etc/init.d/zabbix_server start
netstat -utnalp | grep :10051
4.查看前端页面,会发现正常了
配置客户端
操作服务器(host-2)
1.zabbix客户端可以有版本小差异,服务端3.4版本,客户端3.2版本也可以
wget https://shell-auto-install.oss-cn-zhangjiakou.aliyuncs.com/package/zabbix-agent-3.4.1-1.el7.x86_64.rpm
2.安装
yum -y install zabbix-agent-3.4.1-1.el7.x86_64.rpm
3.清空配置后,编写配置,其它参数后面安装文档再加
> /etc/zabbix/zabbix_agentd.conf
4.当前配置是被动与主动模式都开启,方便后期调节
vim /etc/zabbix/zabbix_agentd.conf #指定pid文件位置
PidFile=/var/run/zabbix/zabbix_agentd.pid #指定日志文件位置
LogFile=/var/log/zabbix/zabbix_agentd.log #设置为被动模式,将开启端口
StartAgents=3 #当前的主机名,要写正确,否则服务端会不识别
Hostname=host-2 #服务端的地址,用逗号(,)可以隔开写多个
Server=1.1.1.1 #服务端的地址,用逗号(,)可以隔开写多个
ServerActive=1.1.1.1 #自定义的脚本超时时间,
Timeout=8 #允许自定义脚本
UnsafeUserParameters=1 #加载其它配置文件
Include=/etc/zabbix/zabbix_agentd.d/*.conf
5.启动效验
systemctl start zabbix-agent
systemctl enable zabbix-agent
netstat -unltp | grep 10050
四.测试
操作服务器(host-1)
1.添加
2.配置主机信息
3.添加模板,连接模板后,主机将被模板所带的监控项监控
4.一般选择Template OS Linux,先点击添加,再添加,不然模板连接不上
5.等一分钟,ZBX灯亮
五.附录
导入其余数据库
1.postgresql导入
psql -U username
psql> create database zabbix;
psql > \q
cd database/postgresql
psql -U username zabbix < database/postgresql/schema.sql
psql -U username zabbix < database/postgresql/images.sql
psql -U username zabbix < database/postgresql/data.sql 2.oracle导入
sqlplus zabbix/password@host/ORCL
sqlplus>@database/oracle/schema.sql
sqlplus>@database/oracle/images.sql
sqlplus>@database/oracle/data.sql
zabbix源码安装 令人窒息的操作的更多相关文章
- zabbix源码安装实例
环境 系统 Centos7 zabbix版本 Zabbix 3.4.15 (revision 86739) zabbix源码安装 .tar.gz cd zab ...
- zabbix源码安装后,设置为服务启动和关闭
zabbix源码安装,使用service启动与关闭服务 1. zabbix客户端的系统服务脚本 1.1 拷贝启动脚本 zabbix的源码提供了系统服务脚本,在/usr/local/src/zabbix ...
- Zabbix源码安装部署
zabbix源码部署安装 参考文档:https://www.zabbix.com/documentation/4.0/manual/installation/install https://www ...
- zabbix源码安装
Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置. 被监控端:主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据 Server端:通过收集SNMP和agent发 ...
- 简单说说Ubuntu利用bzr源码安装OpenERP7.0的操作步骤
1.修改Ubuntu国内更新源,具体方法自己baidu.google. 修改更新源后,更新系统 sudo apt-get update sudo apt-get upgrade 复制代码 2.安装Po ...
- zabbix 源码安装
操作系统:CentOS IP地址:192.168.21.127 Web环境:Nginx+MySQL+PHP zabbix版本:Zabbix 2.2 LTS 备注:Linux下安装zabbix需要有LA ...
- Zabbix源码安装,使用service命令管理zabbix进程
1. 前期环境: Zabbix源代码解压包:/root/zabbix-3.0.27 Zabbix安装路径:/usr/local/zabbix-3.0.27 2. 复制启动脚本到 ...
- CentOS6.7源码安装MySQL5.6
1.源码安装MySQL5.6 # CentOS6操作系统安装完成后,默认会在/etc目录下存在一个my.cnf, # 强制卸载了mysql-libs之后,my.cnf就会消失 rpm -qa | gr ...
- linux中的源码安装
前两天自己在笔记本上装了CentOs版本的虚拟机,接着要装Python3,是源码安装的挺费劲,个人总结了一些源码安装的经验,今天在这里给大家分享一下. 1. 首先准备环境,安装必要的编译工具gcc g ...
随机推荐
- JVM(2)--一文读懂垃圾回收
与其他语言相比,例如c/c++,我们都知道,java虚拟机对于程序中产生的垃圾,虚拟机是会自动帮我们进行清除管理的,而像c/c++这些语言平台则需要程序员自己手动对内存进行释放.虽然这种自动帮我们回收 ...
- 精读《react-easy-state 源码》
1. 引言 react-easy-state 是个比较有趣的库,利用 Proxy 创建了一个非常易用的全局数据流管理方式. import React from "react"; i ...
- 自定义的jdbc连接工具类JDBCUtils【java 工具类】
JDBCUtils 类设计: 1. 创建私有的属性*(连接数据库必要的四个变量):dreiver url user password 2. 将构造函数私有化 3.将注册驱动写入静态代码块 4.外界只能 ...
- 【c#】RabbitMQ学习文档(五)Topic(主题。通配符模式)
(本实例都是使用的Net的客户端,使用C#编写),说明,中文方括号[]表示名词. 在上一个教程中,我们改进了我们的日志记录系统. 没有使用只能够进行虚拟广播的[Fanout]交换机,而是使用了[Dir ...
- 大前端的自动化工厂(1)——Yeoman
一.Yeoman是什么 Yeoman是现代化前端项目的脚手架工具,用于生成包含指定框架结构的工程化目录结构.它是整个前端自动化工厂的第一站. 从个人使用者的角度来看,Yeoman的地位有些鸡肋,因为流 ...
- Java开发笔记(七十一)容器工具Collections
清单作为一组数据的有序队列,它在组织形式上与数组有着某些异曲同工之处,数组有专门的数组工具Arrays来进行加工操作,照理清单也应该配备对应的清单工具.当然容器这个大家族确实拥有自己的容器工具Coll ...
- spring boot 页面根路径获取和jsp获取的不同之处(粘贴即用)
不同之处已做高亮. jsp 写法: <script type="text/javascript" src="${pageContext.request.contex ...
- 经典面试题:浏览器是怎样解析CSS的?
摘要: 理解浏览器原理. 解析 一旦 CSS 被浏览器下载,CSS 解析器就会被打开来处理它遇到的任何 CSS.这可以是单个文档内的 CSS.<style>标记内的 CSS,也可以是 DO ...
- 浅析 JavaScript 中的 函数 uncurrying 反柯里化
柯里化 柯里化又称部分求值,其含义是给函数分步传递参数,每次传递参数后部分应用参数,并返回一个更具体的函数接受剩下的参数,这中间可嵌套多层这样的接受部分参数函数,直至返回最后结果. 因此柯里化的过程是 ...
- django入门与实践 - 关于升级到django 3.7,三种模板超链接配置(编辑中)
第一种方法: 在myblog/urls.py模块中: from django.contrib import admin from django.urls import path, include ur ...