zabbix内网安装部署_搭建环境tomcat+nginx+keepalived+zabbix
准备机子和环境
10.3.145.63 Tomcat(apache-tomcat-8.0.53)10.3.145.64 nginx(nginx version: nginx/1.12.2) 10.3.145.39 nginx.bak(nginx version: nginx/1.12.2)10.3.145.65 zabbinx-server(4.0) + ansible(ansible 2.8.0)## 所有的机子都执行以下命令初始化环境systemctl stop firewalldsystemctl disable firewalldsed -ri s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/configsetenforce 0curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repocurl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repoyum clean allyum makecache fastyum install -y wget ntpdate net-tools vim bash-completion ShellCheckntpdate -b ntp1.aliyun.com
为10.3.145.63 部署JDK&Tomcat
## 先将已经下载的jdk压缩包解压到 /usr/local/下,并改名为java[root@10v3v145v63 src]# tar -xf jdk-8u20-linux-x64.tar.gz -C /usr/local/[root@10v3v145v63 src]# mv /usr/local/jdk1.8.0_20 /usr/local/java## 配置jdk的环境配置[root@10v3v145v63 src]# vim /etc/profile.d/java.shJAVA_HOME=/usr/local/javaPATH=$JAVA_HOME/bin:$PATHexport JAVA_HOME PATH## 检查jdk是否安装成功[root@10v3v145v63 src]# source /etc/profile.d/java.sh[root@10v3v145v63 src]# java -versionjava version "1.8.0_20"Java(TM) SE Runtime Environment (build 1.8.0_20-b26)Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)## 如果java -version能查看到以上信息,则java配置成功## 解压Tomcat压缩包到 /usr/local 下,并改名为tomcat1[root@10v3v145v63 src]# tar -xf apache-tomcat-8.0.53.tar.gz -C /usr/local/[root@10v3v145v63 src]# mv /usr/local/apache-tomcat-8.0.53 /usr/local/tomcat1## 部署多台tomcat[root@10v3v145v63 src]# cd ../[root@10v3v145v63 local]# cp -R tomcat1 tomcat2[root@10v3v145v63 local]# cp -R tomcat1 tomcat3## 修改tomcat的配置[root@10v3v145v63 local]# sed -i s/8080/8081/g /usr/local/tomcat2/conf/server.xml[root@10v3v145v63 local]# sed -i s/8080/8082/g /usr/local/tomcat3/conf/server.xml[root@10v3v145v63 local]# sed -i s/8005/8012/g /usr/local/tomcat2/conf/server.xml[root@10v3v145v63 local]# sed -i s/8005/8013/g /usr/local/tomcat3/conf/server.xml## 启动tomcat[root@10v3v145v63 local]# ./tomcat1/bin/startup.sh[root@10v3v145v63 local]# ./tomcat2/bin/startup.sh[root@10v3v145v63 local]# ./tomcat3/bin/startup.sh## 查看端口是否启动了tomcat[root@10v3v145v63 local]# ss -tunlp | grep 80tcp LISTEN 0 100 :::8009 :::* users:(("java",pid=38902,fd=52))tcp LISTEN 0 1 ::ffff:127.0.0.1:8012 :::* users:(("java",pid=39103,fd=63))tcp LISTEN 0 1 ::ffff:127.0.0.1:8013 :::* users:(("java",pid=39210,fd=63))tcp LISTEN 0 100 :::8080 :::* users:(("java",pid=38902,fd=47))tcp LISTEN 0 100 :::8081 :::* users:(("java",pid=39103,fd=47))tcp LISTEN 0 100 :::8082 :::* users:(("java",pid=39210,fd=47))tcp LISTEN 0 1 ::ffff:127.0.0.1:8005 :::* users:(("java",pid=38902,fd=74))## 三个端口 8080,8081,8082 已经启动了,说明tomcat服务启动成功修改tomcat的访问页面,进行区分
echo "111" > tomcat1/webapps/ROOT/index.jspecho "222" > tomcat2/webapps/ROOT/index.jspecho "333" > tomcat3/webapps/ROOT/index.jsp用浏览器访问10.3.145.63:8080 10.3.145.64:8081 10.3.145.65:8082能分别看到"111","222","333"---部署成功
为10.3.145.65安装anxible服务
先为其他几台机子执行 copy-key.sh 脚本(附录1),传递公钥
[root@10v3v145v65 ~]# bash copy-key.sh
在10.3.145.65上部署ansible服务,并进行配置
## yum安装ansible[root@10v3v145v65 ~]# yum -y install ansible## 配置ansible的hosts[root@10v3v145v65 ~]# vim /etc/ansible/hosts [nginx]10.3.145.3910.3.145.64## 创建data目录[root@10v3v145v65 ~]# mkdir /data#在/data下写安装nginx的剧本---创建以下目录结构的目录[root@10v3v145v65 roles]# tree ..├── nginx│ ├── files│ ├── handlers│ │ └── main.yaml│ ├── tasks│ │ └── main.yaml│ └── templates│ └── nginx.conf.j2└── site.yaml[root@10v3v145v65 ~]# mkdir /data/roles/nginx/{files,handlers,tasks,templates} -p---编写剧本[root@10v3v145v65 ~]# cd /data/roles[root@10v3v145v65 roles]# vim site.yaml- hosts: nginx roles: - nginx [root@10v3v145v65 roles]# cd nginx/ [root@10v3v145v65 nginx]# vim tasks/main.yaml---- name: install nginx packge yum: name=nginx state=present- name: copy nginx.conf template template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf notify: restart nginx- name: make sure nginx service running service: name=nginx state=started enabled=yes [root@10v3v145v65 nginx]# vim handlers/main.yaml---- name: restart nginx service: name=nginx state=restarted ## 编写配置文件[root@10v3v145v65 nginx]# vim templates/nginx.conf.j2# For more information on configuration, see:# * Official English Documentation: http://nginx.org/en/docs/# * Official Russian Documentation: http://nginx.org/ru/docs/user nginx nginx;worker_processes auto;error_log /var/log/nginx/error.log;pid /run/nginx.pid;# Load dynamic modules. See /usr/share/nginx/README.dynamic.include /usr/share/nginx/modules/*.conf;events { worker_connections 1024;} http { upstream web1 { server 10.3.145.63:8080; } upstream web2 { server 10.3.145.63:8081; } upstream web3 { server 10.3.145.63:8082; } server { listen 80 default_server; listen [::]:80 default_server; server_name cyylog; root /usr/share/nginx/html; include /etc/nginx/default.d/*.conf; location / { proxy_set_header Host http_host; proxy_set_header X-Real-IP remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /web1 { root html; index index.jsp index.htm; proxy_pass http://web1/; } location /web2 { root html; index index.jsp index.htm; proxy_pass http://web2/; } location /web3 { root html; index index.jsp index.htm; proxy_pass http://web3/; } error_page 500 502 503 504 /50x.html; location = /50x.html { } }}## 实施 [root@10v3v145v65 nginx]# ansible-playbook ../site.yaml --syntax-check //检查语法[root@10v3v145v65 nginx]# ansible-playbook ../site.yaml //实施剧本###修改本地解析[root@10v3v145v65 nginx]# vim /etc/hosts10.3.145.39 cyylog10.3.145.64 cyylog###本地访问[root@10v3v145v65 nginx]# curl cyyog/web1[root@10v3v145v65 nginx]# curl cyylog/web2[root@10v3v145v65 nginx]# curl cyylog/web3能分别看到"111","222","333"则为部署成功
在10.3.145.39(备)和10.3.145.64(主)上部署keepalived
两台部署和配置大部分一样,不同之处有说明
## 安装keepalived[root@10v3v145v64 ~]# yum -y install keepalived## 修改配置文件[root@10v3v145v64 ~]# vim /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs { router_id 10v3v145v64 #另一台机器为10v3v145v39 }vrrp_script check_nginx { script "/etc/keepalived/check_nginx_status.sh" interval 5}vrrp_instance VI_1 { state BACKUP nopreempt interface ens33 virtual_router_id 51 priority 100 #辅助改为80 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 10.3.145.60 #虚拟IP地址 } track_script { check_nginx }}[root@10v3v145v64 ~]# vim /etc/keepalived/check_nginx_status.sh //脚本文件#!/bin/bash /usr/bin/curl -I http://localhost &>/dev/nullif [ $? -ne 0 ];then systemctl restart keepalivedfi## 注:必须先启动nginx,再启动keepalived[root@10v3v145v64 ~]# systemctl start keepalived[root@10v3v145v64 ~]# ip a能看到10.3.145.60/32则启动成功###测试服务,在64上 stop nginx 的服务,查看到10.3.145.60/32的IP不在64上,而是在39上,则说明服务没有问题。
增加hosts解析
10.3.145.60 cyylog
zabbix自动发现
在一台机器(例10.3.145.65) 部署zabbix-server,实现监控。 其他机器均须部署 zabbix-agent (10.3.145.39、10.3.145.64、10.3.145.63)
安装zabbix-server
## 安装zabbix源(官方)(四台机子都进行配置)[root@10v3v145v65 roles]#rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm## 而后更新我们的yum仓库:[root@10v3v145v65 roles]# yum repolist ## 安装[root@10v3v145v65 ~]# yum -y install zabbix-agent zabbix-get zabbix-sender zabbix-server-mysql zabbix-web zabbix-web-mysql
## 1.创建 mariadb.repo[root@10v3v145v65 roles]# vim /etc/yum.repos.d/mariadb.repo[mariadb]name = MariaDB baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.4/centos7-amd64 gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB gpgcheck=12.下载安装[root@10v3v145v65 roles]# yum -y install MariaDB-server MariaDB-client3.首先,我们修改一下配置文件——/etc/my.cnf.d/server.cnf [root@10v3v145v65 roles]#vim /etc/my.cnf.d/server.cnf [mysqld] skip_name_resolve = ON #跳过主机名解析 innodb_file_per_table = ON # innodb_buffer_pool_size = 256M #缓存池大小 max_connections = 2000 #最大连接数 log-bin = master-log #开启二进制日志4.重启我们的数据库服务[root@10v3v145v65 roles]# systemctl restart mariadb[root@10v3v145v65 roles]# mysql_secure_installation#初始化mariadb5.登录数据库#mysqlMariaDB [(none)]> create database zabbix character set 'utf8'; # 创建zabbix数据库MariaDB [(none)]> grant all on zabbix.* to 'zbxuser'@'10.3.145.%' identified by 'keer';# 注意授权网段MariaDB [(none)]> flush privileges; # 刷新授权6.导入表首先,我们来查看一下,`zabbix-server-mysql`这个包提供了什么/usr/share/doc/zabbix-server-mysql-4.0.9/create.sql.gz #生成表的各种脚本 #gzip -d create.sql.gz #head create.sql #查看内容 vim /usr/share/doc/zabbix-server-mysql-4.0.9/create.sql USER zabbix #如果缺少,第一行添加 7.导入数据 cd /usr/share/doc/zabbix-server-mysql-4.0.9/[root@10v3v145v65 zabbix-server-mysql-4.0.9]# mysql -uzbxuser -h10.3.145.65 -p zabbix < create.sql 8.修改配置文件 cd /etc/zabbix/ cp zabbix_server.conf{,.bak} #为了可以反悔,cp一份 vim zabbix_server.conf #修改后配置如下ListenPort=10051 #默认监听端口SourceIP=10.3.145.65 #发采样数据请求的IP(本机)DBHost=10.3.145.65 #数据库对外的主机DBName=zabbix #数据库名称DBUser=zbxuser #数据库用户DBPassword=keer #数据库密码DBPort=3306 #数据库启动端口9.开启服务#systemctl start zabbix-server.service#ss -nutl |grep 10051tcp LISTEN 0 128 *:10051 *:* tcp LISTEN 0 128 :::10051 :::* Alias /zabbix /usr/share/zabbix #我们访问的时候要在主机后加上/zabbix来访问我们这个服务#vim /etc/php.ini #配置时区 [Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Shanghai 10.接下来,我们就可以启动我们的`httpd`服务了:[root@10v3v145v65 zabbix]# systemctl restart httpd.service ## 访问 10.3.145.65/zabbix## 进行初始化配置
ansible安装zabbix-agent
## 添加ansibled的hosts解析[root@10v3v145v65 ~]# vim /etc/ansible/hosts[zabbix-agent]10.3.145.3910.3.145.6410.3.145.63## 写剧本---创建以下目录[root@10v3v145v65 roles]# tree ..├── site.yaml└── zabbix-agent ├── files ├── handlers │ └── main.yaml ├── tasks │ └── main.yaml └── templates └── zabbix_agentd.conf.j2[root@10v3v145v65 ~]# mkdir /data/roles/zabbix-agent/{files,handlers,tasks,templates} -p[root@10v3v145v65 ~]# cd /data/roles/zabbix-agent[root@10v3v145v65 roles]# vim ../site.yaml - hosts: zabbix-agent roles: - zabbix-agent[root@10v3v145v65 zabbix-agent]# vim handlers/main.yaml---- name: restart zabbix-agent service: name=zabbix-agent state=restarted[root@10v3v145v65 zabbix-agent]# vim tasks/main.yaml---- name: install zabbix-agent packge yum: name=zabbix-agent state=present- name: copy zabbix-agent.conf template template: src=zabbix_agentd.conf.j2 dest=/etc/zabbix/zabbix_agentd.conf notify: restart zabbix-agent- name: make sure zabbix-agent service running service: name=zabbix-agent state=started enabled=yes[root@10v3v145v65 zabbix-agent]# cp /etc/zabbix/zabbix_agentd.conf ./templates/zabbix_agentd.conf.j2## 编写配置文件[root@10v3v145v65 zabbix-agent]# vim templates/zabbix_agentd.conf.j2Server=192.168.195.139///服务的IPServerActive=192.169.195.139///服务的IPHostname=192v168v195v139///服务的hostname## 修改这三项即可 ##[root@10v3v145v65 zabbix-agent]# ansible-playbook ./site.yaml --syntax-check //检查语法[root@10v3v145v65 zabbix-agent]# ansible-playbook ./site.yaml//实施剧本
配置自动发现
一、创建发现规则
Configuration ---- discovery ---- Create discovery rule
图片-1
图片-2
二、主机自动加入主机组并关联模板
2.1、为discovery(发现)创建action(动作)
Configuration ---- Actions ---- Event source(Discovery) ---- Create action
图片-3
图片-4
图片-5
图片-6
图片-7
架构图
架构图
附录1
[root@10v3v145v65 ~]# vim copy-key.sh#!/usr/bin/env bash## Author: cyy# GitHub: cyylog# usage: transfer keyrpm -qa | grep expectif [ ! $? -eq 0 ];then yum -y install expectfiCreateKey(){ /usr/bin/expect <
zabbix内网安装部署_搭建环境tomcat+nginx+keepalived+zabbix相关推荐
- zabbix内网安装部署_zabbix2.4.8升级3.0.31操作部署记录
1. 安装软件准备 1.1. 软件准备 1.zabbix-2.4.8.tar.gz zabbix-3.0.31.tar.gz 下载地址:https://www.zabbix.com/download ...
- python 内网镜像站_搭建私有YUM仓库与内网镜像站
原标题:搭建私有YUM仓库与内网镜像站 搭建私有YUM仓库 私有yum仓库环境 系统版本:centos7.4 IP:192.168.1.47 #最好能上公网 私有yum仓库服务端配置 第一:创建使用y ...
- 纯手动搭建大数据集群架构_记录011_搭建Nifi_安装部署_搭建集群---大数据之Hadoop3.x工作笔记0172
可以看到左侧,把nifi安装包先上传到服务器,然后,去解压,一样放到opt/software目录,然后解压到/opt/module目录 然后去修改这个配置文件nifi.properties,然后 然后 ...
- Java实现Http代理服务器通过http代理进行内网安装yum软件
Java实现Http代理服务器&通过http代理进行内网安装yum软件 1.Http代理服务器简介 2.Http代理服务器Java实现 2.1 Java源码 2.2 代码分析说明 3.通过ht ...
- Zabbix 6.0 图文安装部署讲解---LNMP环境
Zabbix 6.0 图文安装部署讲解---LNMP环境 简介 环境需求 部署环境 关闭系统防火墙 一.Mysql8.0.30 部署 二.nginx 部署 三.PHP 部署 四.zabbix-serv ...
- Ubuntu14.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 说在前面的话 首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu 14.04.4 LTS ...
- Ubuntu16.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 说在前面的话 首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu 16.04.1 LTS ...
- Nginx实战基础篇六 通过源码包编译安装部署LNMP搭建Discuz论坛
Nginx实战基础篇六 通过源码包编译安装部署LNMP搭建Discuz论坛 版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 您可以自由复制.发行.展览. ...
- 公司内网openvpn部署,
公司内网openvpn部署 准备环境 编号 服务器名称 网卡名称 网卡 定位 1号虚拟机 lan1 ens33 lan:10.2.2.1 内网主机 2号虚拟机 lan2 ens33 lan:10.2. ...
- 史上最快的内网视频会议部署方案-turbomeeting视频会议系统
之前的文章有提到过,市面上用电脑安装视频会议软件.手机安装视频会议软件来开会的"软视频会议系统"主要是以租赁的形式提供给用户使用,很多优秀的软件甚至只需要付费6000K就可以获得5 ...
最新文章
- 【OpenCV】图像代数运算:平均值去噪,减去背景
- string中的Copy-on-Write技术
- 善用php-fpm的慢执行日志slow log,分析php性能问题
- Java黑皮书课后题第10章:*10.26(计算器)修改程序清单7-9,接收一个字符串表达式,其中操作符和操作数由0到多个空格隔开
- SharedPreference Demo
- ASP.NET Core中使用IOC三部曲(二.采用Autofac来替换IOC容器,并实现属性注入)
- linq to js使用汇总
- 移动发布手机病毒警示信息 发现六种新型病毒
- sql查询非11位非数字_非生产环境SQL查询性能调优技巧
- [工具]PyCharm激活、注册码无效解决办法
- 我的世界java种子 要塞,《我的世界》你绝对没见过的稀奇种子,恐龙骨架出现在要塞...
- 群晖服务器密码修改,群晖nas使用教程:重置黑群晖登陆密码 – 群晖教程
- 一种基于复制粘贴的cam350邮票孔拼版教程(二)导出gerber
- 盈建科中地震波_[GMS][地震波][选波]YJK地震波反应谱分析与地震波选取
- rs232读取智能电表_深度了解智能电度表,面板内容大揭秘!
- 数据处理可视化的最有价值的 50 张图 (上)
- java基础热门侠客养成_侠客养成手册攻略大全 新手攻略开局任务流程汇总[多图]...
- 游戏开发技术帖:光线追踪技术的误点和难点
- 十大【C语言】经典书籍,应该有你看过的吧
- 无线键鼠接收器丢了怎么办
热门文章
- 【交通标志识别】基于matlab GUI BP神经网络雾霾天气交通标志识别(带面板)【含Matlab源码 1771期】
- 【优化求解】基于matlab粒子群与遗传算法混合算法求解切削参数优化问题(以成本和碳排放量为目标函数)【含Matlab源码 1619期】
- 【车间调度】基于matlab遗传算法求解车间调度问题【含Matlab源码 1396期】
- 【优化算法】正弦余弦算法(SCA)【含Matlab源码 1308期】
- 【价格预测】基于matlab粒子群算法黄金价格预测【含Matlab源码 591期】
- linux ssh x11,ssh服务器的x11 forwarding报错的解决
- 3至六年级计算机知识,小学三至六年级下册信息技术教学计划范文
- 游戏挂机计算机自己保护怎么办,游戏中遇到玩家挂机该如何应对?做好这5件事可以降低输的机率...
- layedit 内容变化事件_React反应表单与事件
- java二级考纲_二级JAVA程序设计考试大纲