在Linux操作系统上部署wgcloud监控

2023-11-06 02:59

本文主要是介绍在Linux操作系统上部署wgcloud监控,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

1.wgcloud监控介绍

1.1 介绍

​ 这是一款开源的主机监控系统,可以支持主机各种指标监测(cpu使用率,cpu温度,内存使用率,磁盘容量空间,磁盘IO,硬盘SMART健康状态,系统负载,连接数量,网卡流量,硬件系统信息等)。支持监测服务器上的进程应用、文件、端口、日志、DOCKER容器、数据库、数据表等资源。支持监测服务接口API、数通设备(如交换机、路由器、打印机)PING和SNMP监测、自定义监控指令等。自动生成网络拓扑图,大屏可视化,web SSH,统计分析报表,指令下发批量执行,FTP监测,资产管理,设备账号管理,故障告警信息推送(如邮件、钉钉、微信、短信等)

1.2 支持监控的主机

  1. 支持监测Linux:Debian,RedHat,CentOS,Ubuntu,Fedora,SUSE,麒麟,统信(UOS),龙芯(mips)等
  2. 支持监测Windows:Windows Server 2008 R2,Windows Server 2012,2016,2019,2022,Windows 7,Windows 8,Windows 10,Windows 11
  3. 支持监测Unix:Solaris,FreeBSD,OpenBSD,AIX
  4. 支持监测MacOS:MacOS amd64,MacOS arm64
  5. 其他支持:ARM,Android(安卓),Riscv64,S390x,树莓派等

2.wgcloud的搭建

2.1 Server端的搭建

2.1.1 监控机安装JDK

爪哇下载 |甲骨文中国 (oracle.com)

`查看主机中是否安装了Java
[root@localhost ~]# rpm -qa | grep java
`查看仓库中的java软件包
[root@localhost ~]# yum -y list java*
`下载开发者版本
[root@localhost ~]# yum install java-1.8.0-openjdk-devel.x86_64
`查看是否下载成功
[root@localhost ~]# java -version

在这里插入图片描述

`通过Yum安装的jdk一般在/usr/lib/jvm

在这里插入图片描述

`配置环境变量
[root@localhost ~]# cat > /etc/profile.d/jdk.sh << EOFJAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64JRE_HOME=$JAVA_HOME/jreCLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libPATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/binexport JAVA_HOME JRE_HOME CLASS_PATH PATHEOF`初始化环境变量,让环境变量永久生效
[root@localhost ~]# source /etc/profile.d/jdk.sh 
2.1.2 监控机安装MySQL数据库
`使用Yum安装Mariadb
[root@localhost ~]# yum -y install mariadb*
`启动数据库并设置为自启动
[root@localhost ~]# systemctl start mariadb.service;systemctl enable mariadb.service
`初始化数据库并设置密码
[root@localhost ~]# mysqladmin -uroot password "******"

在这里插入图片描述

`添加远程访问权限
MariaDB [(none)]> use mysql;
MariaDB [mysql]> grant all privileges on *.* to root@'%' identified by '123456';
MariaDB [mysql]> flush privileges;
2.1.3 监控机安装wgcloud

[root@localhost ~]# wget https://www.wgstart.com/download/3.4.6/wgcloud-v3.4.6.tar.gz
[root@localhost ~]# tar -zxf wgcloud-v3.4.6.tar.gz -C /usr/local/`在服务端进行初始化数据库,导入或运行SQL语句
`第一步:创建数据库,名称为wgcloud,字符集设置为UTF-8
[root@localhost ~]# mysql -uroot -p12345
MariaDB [(none)]> create database if not exists wgcloud character set utf8 collate utf8_general_ci;
MariaDB [(none)]> create user wgcloud@localhost identified by 'wgcloud123';
MariaDB [(none)]> grant all privileges on wgcloud.* to wgcloud@localhost;
MariaDB [(none)]> flush privileges;
`第二步:在wgcloud数据库,导入或运行/usr/local/wgcloud-v3.4.6文件夹中的wgcloud-MySQL.sql文件
MariaDB [none]> use wgcloud;
MariaDB [wgcloud]> source /usr/local/wgcloud-v3.4.6/wgcloud-MySQL.sql;
2.1.4 在服务端进行Server配置及启动
`配置/usr/local/wgcloud-v3.4.6/server/config/application.yaml文件

在这里插入图片描述

在这里插入图片描述

`配置/usr/local/wgcloud-v3.4.6/agent/config/application.properties文件

在这里插入图片描述

注意:properties类型文件中的等号后面不需要保留空格。agent主动单向给server上报采集数据,agent主机不需要开启任何端口,因为server不会访问agent

2.1.5 启动Serveri端和Agent端
[root@localhost ~]# cd /usr/local/wgcloud-v3.4.6/server/
[root@localhost server]# ./start.sh 
./wgcloud-server-release.jarwgcloud-server程序开始启动
./wgcloud-daemon-releasewgcloud-daemon程序开始启动
[root@localhost server]# cd ../agent/
[root@localhost agent]# ./start.sh 
./wgcloud-agent-releasewgcloud-agent程序开始启动
[root@localhost agent]# lsof -i:9999 

在这里插入图片描述

2.1.6 访问http://IP地址:Port/wgcloud

在这里插入图片描述

在这里插入图片描述

2.2 Agent的搭建

2.2.1 在客户端安装wgcloud
[root@localhost ~]# wget https://www.wgstart.com/download/3.4.6/wgcloud-v3.4.6.tar.gz
[root@localhost ~]# tar -zxf wgcloud-v3.4.6.tar.gz -C /usr/local/
2.2.2 修改Agent配置文件
`修改serverUrl为:http://Serverip:port

在这里插入图片描述

2.2.3 启动Agent
[root@localhost ~]# bash /usr/local/wgcloud-v3.4.1/agent/.start.sh
2.2.4 查看监控情况

在这里插入图片描述

2.3 使用system管理wgcloud

`使用system管理wgcloud
[root@localhost ~]# cat > /usr/lib/systemd/system/wgcloud.service << EOF
[Unit]
Description=wgcloud sever
After=network.target syslog.target[Service]
Type=forking
User=root
ExecStart=/usr/local/wgcloud/server/start.sh
ExecStop=/usr/local/wgcloud/server/stop.sh
ExecReload=/usr/local/wgcloud/server/stop.sh;/usr/local/wgcloud/server/start.sh
Restart=on-failure[Install]
WantedBy=multi-user.target
EOF[root@localhost ~]# systemctl daemon-reload 

在这里插入图片描述

3.使用Nginx服务器管理wgcloud

3.1 配置Nginx基础配置

`配置Nginx.conf文件中包括错误日志生成路径,进程限制,访问日志格式
user  nginx;
worker_processes  auto;
worker_cpu_affinity auto; #CPU亲和配置
worker_rlimit_nofile 1024; #进程限制error_log  /data/log/nginx/error.log;
# error_log的级别分为debug,info,notice,warn,error,crit,默认为error
# debug:调试消息
# info:信息性消息
# notice:公告
# warn:警告
# error:处理请求时出错
# alert:警告.必须立即采取行动
# emerg: 紧急情况.系统处于无法使用的状态events {worker_connections  1024;use epoll; # 配置事件驱动模块
}http {include       mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr $host - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';# remote_addr:客户端IP地址# remote_user:客户端用户名称,用于记录浏览者进行身份验证时提供的名称,如果没有登录则为空# time_local:访问的时间与时区# request:请求的URL和HTTP协议# status:记录返回的HTTP状态码# body_bytes_sent:发送给客户端的文件主体内容的大小# http_referer:表示是从哪个网站上跳转来的# http_user_agent:客户端浏览器标识# http_x_forwarded_for:客户端IP地址列表(包括中间经过的代理IP)#access_log  logs/access.log  main;sendfile        on;tcp_nopush      on;# 优化Nginx静态资源的处理keepalive_timeout  65;include /usr/local/nginx/conf/conf.d/*.conf;
}

3.2 配置上游服务器

`文件路径:/usr/local/nginx/conf/conf.d/upstream.conf
upstream wgcloudServer {server 192.168.65.3:9999 weight=10;ip_hash;
}

3.3 配置反向代理

`文件路径:/usr/local/nginx/conf/conf.d/proxy.conf
server{listen 80;server_name localhost;charset utf-8;location / {proxy_pass http://myApp;proxy_buffer_size 64k;proxy_buffers 32 32k;proxy_busy_buffers_size 128k;proxy_set_header Host $host;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;proxy_redirect default;proxy_connect_timeout 600s;proxy_send_timeout 600s;proxy_read_timeout 600s;            }location /wgcloud {proxy_pass http://wgcloudServer;}
}

在这里插入图片描述

3.4 配置SSL证书

1.本地做个域名解析(不做域名解析就用IP进行访问)

`Linux虚拟机:
[root@localhost ~]# vim /etc/hosts

在这里插入图片描述

`Windows主机同样修改hosts文件

2.使用Shell脚本一键生成SSL证书(此证书不被CA认可,所以浏览器会报不安全)

#!/bin/bash
if [ ! -f "/bin/openssl" ];thenyum -y install openssl
fi
. /etc/init.d/functionsCERT_INFO=([00]="/O=heaven/CN=ca.god.com" \[01]="cakey.pem" \[02]="cacert.pem" \[03]=2048 \[04]=3650 \[05]=0    \[10]="/C=CN/ST=hubei/L=wuhan/O=Gizaworks/CN=wgcloud.haohe.online" \[11]="master.key" \[12]="master.crt" \[13]=2048 \[14]=365[15]=1 \[16]="master.csr" \[20]="/C=CN/ST=hubei/L=wuhan/O=Gizaworks/CN=halo.haohe.online" \[21]="slave.key" \[22]="slave.crt" \[23]=2048 \[24]=365 \[25]=2 \[26]="slave.csr"   )COLOR="echo -e \\E[1;32m"
END="\\E[0m"
DIR=/usr/local/nginx/conf/ssl/
cd $DIR for i in {0..2};doif [ $i -eq 0 ] ;thenopenssl req  -x509 -newkey rsa:${CERT_INFO[${i}3]} -subj ${CERT_INFO[${i}0]} \-set_serial ${CERT_INFO[${i}5]} -keyout ${CERT_INFO[${i}1]} -nodes -days ${CERT_INFO[${i}4]} \-out ${CERT_INFO[${i}2]} &>/dev/nullelse openssl req -newkey rsa:${CERT_INFO[${i}3]} -nodes -subj ${CERT_INFO[${i}0]} \-keyout ${CERT_INFO[${i}1]}   -out ${CERT_INFO[${i}6]} &>/dev/nullopenssl x509 -req -in ${CERT_INFO[${i}6]}  -CA ${CERT_INFO[02]} -CAkey ${CERT_INFO[01]}  \-set_serial ${CERT_INFO[${i}5]}  -days ${CERT_INFO[${i}4]} -out ${CERT_INFO[${i}2]} &>/dev/nullfi$COLOR"**************************************生成证书信息**************************************"$ENDopenssl x509 -in ${CERT_INFO[${i}2]} -noout -subject -dates -serialecho 
done
chmod 600 *.key
action "证书生成完成"

在这里插入图片描述

3.5修改配置文件

server{listen 80;server_name wgcloud.haohe.online;charset utf-8; return 301 https://$host$request_uri;
}server{# SSL访问的域名为443listen 443 default ssl;# 填写绑定证书的域名server_name wgcloud.haohe.online;# 证书文件名称ssl_certificate /usr/local/nginx/conf/ssl/master.crt;# 私钥文件名称ssl_certificate_key /usr/local/nginx/conf/ssl/master.key;ssl_session_timeout 5m;#请按照以下协议配置ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location /wgcloud {# limit_req zone=five burst=10;error_page   503   /503_api.html;proxy_pass http://wgcloudServer;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Host    $host;add_header Strict-Transport-Security "max-age=31536000";}access_log /data/log/nginx/https_access.log main;error_log /data/log/nginx/https_error.log;
}

在这里插入图片描述

这篇关于在Linux操作系统上部署wgcloud监控的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/354099

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念