首页
AI导航
美图
服务
付费
树洞
留言
云主机
推荐
邻居
更多
我的书单
我的足迹
罗盘时钟
圈小猫
工作打分
本站统计
版本历史
推荐
txt阅读器
主机监控
M商城
网址导航
在线工具
证件照制作
Search
1
docker和docker-compose一键安装脚本
824 阅读
2
docker下运行grafana和grafana Image Renderer
664 阅读
3
grafana的Dashboard面板添加阈值报警
632 阅读
4
WooCommerce对接第三方支付插件开发
503 阅读
5
基于docker的部署fecmall开源电商系统
442 阅读
ChatGPT
虚拟化
数据库
运维
基础知识
监控预警
数据展示
运维工具
web安全
系统服务
开发
python
php
java
shell
go
html5
项目
博客
电商
工具
娱乐
影视
读书
读书笔记
综合
VPS报告
规范文档
知识总结
经验分享
关于本站
登录
Search
标签搜索
python
django
电商平台
运维工具
Joe主题
docker
zabbix
蓝鲸智云
运维
监控
typecho
grafana
wordpress
运维知识
mysql
php
elk
nginx
web安全
VPS测试
IT不难
累计撰写
245
篇文章
累计收到
209
条评论
首页
栏目
ChatGPT
虚拟化
数据库
运维
基础知识
监控预警
数据展示
运维工具
web安全
系统服务
开发
python
php
java
shell
go
html5
项目
博客
电商
工具
娱乐
影视
读书
读书笔记
综合
VPS报告
规范文档
知识总结
经验分享
关于本站
页面
美图
服务
留言
邻居
我的足迹
本站统计
版本历史
推荐
M商城
网址导航
搜索到
8
篇与
的结果
2022-12-02
哪吒监控部署记录
前言{callout color="#f0ad4e"}哪吒监控 一个开源、轻量的服务器和网站监控、运维工具。本文记录部署过程。{/callout}单点登录github{message type="success" content="国外使用"/}配置地址: https://github.com/settings/developers {card-describe title="应用配置"}应用名:nezha-monitor访问域名:http://ip:8090回调地址:http://ip:8090/oauth2/callback{/card-describe}{message type="success" content="妥善保存clientid 和密钥,安装服务端时使用"/}JihuLab{message type="success" content="国内使用"/}配置地址: https://jihulab.com/-/profile/applications {card-describe title="配置"}回调地址:http://ip:8090/oauth2/callback范围:read_user 和 read_api{/card-describe}服务端安装# 国外 curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh # 国内 curl -L https://jihulab.com/nezha/nezha/-/raw/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh{card-default label="配置" width="80%"}{/card-default}服务端配置配置接收数据地址{message type="success" content="设置-> 未接入CDN的面板服务器域名/IP"/}添加主机{card-default label="添加" width="80%"}{/card-default}nginx反向代理隐藏内容,请前往内页查看详情客户端安装主流系统自动安装# 国外 curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh # 国内 curl -L https://jihulab.com/nezha/nezha/-/raw/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh{card-default label="安装" width="80%"}{/card-default}debain手动安装## 安装依赖命令 apt install -y wget unzip curl ## 执行安装脚本 ./agent_install.sh ## 启动 /opt/nezha/nezha-agent -s ip:5555 -p 密钥{card-describe title="agent_install.sh内容"}#!/bin/bash NZ_AGENT_PATH="/opt/nezha" install() { GITHUB_URL="github.com" if [ ! -f "${NZ_AGENT_PATH}/nezha-agent" ]; then if [[ $(uname -m | grep 'x86_64') != "" ]]; then os_arch="amd64" elif [[ $(uname -m | grep 'i386\|i686') != "" ]]; then os_arch="386" elif [[ $(uname -m | grep 'aarch64\|armv8b\|armv8l') != "" ]]; then os_arch="arm64" elif [[ $(uname -m | grep 'arm') != "" ]]; then os_arch="arm" elif [[ $(uname -m | grep 's390x') != "" ]]; then os_arch="s390x" elif [[ $(uname -m | grep 'riscv64') != "" ]]; then os_arch="riscv64" fi local version=$(curl -m 10 -sL "https://api.github.com/repos/naiba/nezha/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g') if [ ! -n "$version" ]; then version=$(curl -m 10 -sL "https://fastly.jsdelivr.net/gh/naiba/nezha/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/naiba\/nezha@/v/g') fi if [ ! -n "$version" ]; then version=$(curl -m 10 -sL "https://gcore.jsdelivr.net/gh/naiba/nezha/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/naiba\/nezha@/v/g') fi if [ ! -n "$version" ]; then echo -e "获取版本号失败,请检查本机能否链接 https://api.github.com/repos/naiba/nezha/releases/latest" return 0 else echo -e "当前最新版本为: ${version}" fi wget -t 2 -T 10 -O nezha-agent_linux_${os_arch}.zip https://${GITHUB_URL}/naiba/nezha/releases/download/${version}/nezha-agent_linux_${os_arch}.zip >/dev/null 2>&1 if [[ $? != 0 ]]; then echo -e "Release 下载失败,请检查本机能否连接 ${GITHUB_URL}${plain}" return 0 fi mkdir -p $NZ_AGENT_PATH chmod 755 -R $NZ_AGENT_PATH unzip -qo nezha-agent_linux_${os_arch}.zip && mv nezha-agent $NZ_AGENT_PATH && rm -rf nezha-agent_linux_${os_arch}.zip fi if [ ! -x "${NZ_AGENT_PATH}/nezha-agent" ]; then chmod +x ${NZ_AGENT_PATH}/nezha-agent fi } export -f install install{/card-describe}访问http://ip:8090 {card-default label="后台" width="80%"}{/card-default}{card-default label="首页" width="75%"}{/card-default}
2022年12月02日
93 阅读
2 评论
0 点赞
2022-12-02
利用uptime-kuma监控服务状态
前言{callout color="#f0ad4e"}一个自托管的网站监控工具,支持的功能也相对较为丰富。{/callout}配置docker-compose.yamlversion: '3.3' networks: knet: driver: bridge services: kuma: image: louislam/uptime-kuma volumes: - /data/kuma:/app/data ports: - 3001:3001 networks: - knet启动docker-compose up -d访问http://ip:3001 {card-default label="状态" width="80%"}{/card-default}
2022年12月02日
33 阅读
0 评论
0 点赞
2022-10-30
Goploy-Agent编译部署过程及代码优化
前言{callout color="#f0ad4e"}在做测试的过程中,想实时关注下服务器状态,命令行工具界面比较难看。看够了,就想找一下有没有现成的,部署方便的单机监控。可以通过web界面展示当前服务状态,发现了 Goploy-Agent ,比较符合我的需求。启动也非常简单,特此记录使用过程。{/callout}{card-default label="界面" width="90%"}{/card-default}配置{message type="success" content="将项目内goploy-agent.example.toml 改为 goploy-agent.toml ,放在二进制启动文件目录"/}修改配置{message type="success" content="因为单机使用reportURL留空即可。"/}隐藏内容,请前往内页查看详情启动screen ./goploy-agent优化{message type="success" content="使用中,网卡流量监控不到。仔细排查发现只能监控到eth和lo网卡名的流量。而服务器网卡未em开头,只能通过自己改代码,然后重新编译。问题解决。"/}修改代码//controller/Controller.go 281行 if !strings.HasPrefix(fields[0], "eth") && !strings.HasPrefix(fields[0], "em") && !strings.HasPrefix(fields[0], "lo") { continue } //task/Task.go 363行 if strings.HasPrefix(fields1[0], "eth") || strings.HasPrefix(fields1[0], "em"){ logType = model.TypePubNet } else if strings.HasPrefix(fields1[0], "lo") { logType = model.TypeLoNet } else { continue } 重新编译# 编译vue前端 cd web/ npm install vite npm run build # 编译go,然后将生成的二进制文件上传服务器替换即可 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go{card-default label="效果" width="85%"}{/card-default}
2022年10月30日
21 阅读
0 评论
0 点赞
2022-07-13
通过sflow-rt统计分析交换机接口流量数据
前言{callout color="#f0ad4e"}sFlow 是由InMon、HP 和FoundryNetworks 于2001 年联合开发的一种网络监测技术,它采用数据流随机采样技术,可提供完整的第二层到第四层,甚至全网络范围内的流量信息,可以适应超大网络流量(如大于10Gbit/s)环境下的流量分析,让用户详细、实时地分析网络传输流的性能、趋势和存在的问题。SFLOW-RT 是sflow流分析的一个工具。{/callout}{card-default label="sflow-rt" width="95%"}{/card-default}交换机配置sflow{card-default label="H3C交换机配置参考" width="85%"}{/card-default}sflow-rtlocal.conf配置dns.servers=resolv.conf geo.country=resources/config/GeoLite2-Country.mmdb geo.asn=resources/config/GeoLite2-ASN.mmdb oui.names=resources/config/oui.txt flow-trend.maxFlows=20 flow-trend.aggMode=sumdocker启动docker run --rm -v $PWD/conf/local.conf:/sflow-rt/local.conf -v $PWD/app:/sflow-rt/app -p 6343:6343/udp -p 8008:8008 --name sflow-rt sflow/sflow-rt -Dsystem.propertyFiles=local.confdocker-compose启动sflow-rt隐藏内容,请前往内页查看详情
2022年07月13日
93 阅读
0 评论
1 点赞
2022-05-02
grafana的Dashboard面板添加阈值报警
前言{callout color="#f0ad4e"}grafana使用一段时间以后,又有了新的需求。当Dashboard面板展示的流量小于某个阈值时,立刻通知相关人员。grafana的告警触发以panel为基础,即每个panel单独配置告警信息,包括告警规则、触发条件、告警通知通道及内容等。配置比较简单,容易上手。特此记录一下。{/callout}告警通道{message type="success" content="Alerting -> Notification channels"/}邮件修改grafana.ini配置文件,重启服务[smtp] enabled = true host = smtp.163.com:465 user = ******@163.com password =********* #授权码 from_address = *******@163.com from_name = grafana系统{card-default label="邮件报警通道" width="60%"}{/card-default}钉钉通过钉钉后台申请webhook{card-default label="钉钉报警通道" width="75%"}{/card-default}Cloud Alert登录cloud Alert,添加grafana应用。然后按照官方文档添加即可。{card-default label="添加账号" width="75%"}{/card-default}告警规则{message type="success" content="grafana报警规则,基于pannel配置。不支持模板,所以生成单独的dashboard专门用于报警。"/}{card-default label="报警规则" width="75%"}{/card-default}可用行测试{callout color="#f0ad4e"}通过改变相应的阈值条件,使条件触发。然后查看是否收到报警,如果可以收到。说明配置可用,然后将阈值改成需要的值即可。{/callout}
2022年05月02日
632 阅读
2 评论
2 点赞
2022-04-30
基于docker的zabbix5.4 配置Cloud Alert报警方式
前言{callout color="#f0ad4e"}在业务量小的时候,zabbix监控系统采用邮件或钉钉报警完全可以满足要求。随着业务的发展,对运维要求越来越高。由于邮件或钉钉消息经常看不到,所以配置新的报警方式成了当务之急。经过调研分析,决定采用 Cloud Alert 来统一管理报警。分享配置过程。{/callout}注册 Cloud Alert账号{message type="success" content="账号注册完成后,添加应用,选择zabbix"/}注册地址添加应用{card-default label="添加应用" width="75%"}{/card-default}配置分派策略分派策略{card-default label="分派策略" width="75%"}{/card-default}通知策略{card-default label="通知策略" width="75%"}{/card-default}zabbix 配置{message type="success" content="因为zabbix采用的是基于docker的双机互备模式,因此继承cloud alert 采用web hook 模式,根据官方文档配置即可。"/}配置报警媒介{message type="success" content="直接第二步,通过xml(CA_500.xml)文件导入即可。导入之前,将文件内的key值改为刚刚申请的。"/}{card-default label="导入报警媒介" width="75%"}{/card-default}创建报警动作{message type="success" content="因为zabbix版本为5.4,需要自定义消息模板"/}{card-default label="报警动作" width="75%"}{/card-default}问题: {EVENT.NAME} 告警主机:{HOST.NAME} 告警时间:{EVENT.DATE} {EVENT.TIME} 事件等级:{EVENT.SEVERITY} 告警信息:{TRIGGER.NAME} 当前状态: {TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID: {EVENT.ID} {TRIGGER.URL}{card-default label="自定义消息模板" width="75%"}{/card-default}配置Admin用户{message type="success" content="用户->Admin用户->报警媒介"/}{card-default label="用户配置" width="75%"}{/card-default}模拟测试{message type="success" content="通过模拟故障来验证,配置是否生效。"/}systemctl stop zabbix-agent过了一会儿,收到报警。说明配置正确,可以正常使用。
2022年04月30日
56 阅读
0 评论
0 点赞
2022-03-08
centos7下docker运行zabbix钉钉报警配置
前言{callout color="#f0ad4e"} zabbix监控系统部署完成以后,出现问题及时报警。是运维进行故障应急响应的关键。下面就来实现zabbix通过钉钉报警。{/callout}{card-default label="钉钉报警" width="75%"}{/card-default}钉钉的配置创建群聊{message type="success" content="将需要得到报警信息的人添加到群聊"/}{callout color="#f0ad4e"} 群名称:钉钉报警 成员:自己{/callout}添加一个自定义机器人{message type="success" content="项目小助手-->更多机器人-->自定义机器人,获取webhook的access_token,后面用得到"/}webhook{message type="success" content="保存webhook,钉钉报警脚本内部用得到"/}zabbix配置报警脚本 dingding.pydingding.py 内容如下:隐藏内容,请前往内页查看详情进行发送报警信息测试 /usr/lib/zabbix/alertscripts/dingding.py 189100xx805 监控测试 监控报警好不好使配置zabbix报警媒介{message type="success" content="管理-->报警媒介类型-->创建媒体类型"/}{callout color="#f0ad4e"}参数名称:钉钉类型:脚本脚本名称:dingding.py脚本参数:{ALERT.SENDTO}{ALERT.SUBJECT}{ALERT.MESSAGE}{/callout}{card-default label="配置截图" width="50%"}{/card-default}配置动作{message type="success" content="配置-->动作-->Trigger actions-->创建动作"/}{callout color="#f0ad4e"}参数名称:钉钉条件:触发器示警度 大于等于 未分类{/callout}{card-default label="配置截图" width="50%"}{/card-default}{card-default label="配置截图" width="50%"}{/card-default}{message type="success" content="操作 恢复操作 更新操作 参数相同"/}{callout color="#f0ad4e"}主题:{TRIGGER.STATUS}: {TRIGGER.NAME}消息:告警主机:{HOST.NAME}主机IP: {HOST.IP}告警时间:{EVENT.DATE} {EVENT.TIME}告警等级:{TRIGGER.SEVERITY}告警信息:{TRIGGER.NAME}问题详情:{ITEM.NAME}:{ITEM.VALUE}当前状态: {TRIGGER.STATUS}:{ITEM.VALUE1}事件ID: {EVENT.ID}{/callout}{card-default label="配置截图" width="50%"}{/card-default}配置用户{message type="success" content="管理-->用户-->Admin-->报警媒介-->添加"/}{card-default label="配置截图" width="50%"}{/card-default}报警在docker下实现{message type="success" content="利用pyinstaller 将dingding.py打包"/}pip3 install pyinstaller -i https://mirrors.aliyun.com/pypi/simple/ pyinstaller -F dingding.pyFAQ发消息中文乱码将docker内的环境变量设置为LC_ALL=C.utf8 LANG=C.utf8
2022年03月08日
157 阅读
3 评论
2 点赞
2022-02-27
docker 运行httpMonitor项目,监控API可用性
{card-default label="httpmonitor" width="75%"} {/card-default}前言{callout color="#f0ad4e"}httpMonitor适用于监控应用服务可用性的项目,可以自定义报警方式。自定义url监控返回值。{/callout}项目介绍目录结构说明{callout color="#f0ad4e"}httpmonitor 项目代码README.md 说明文件support 支持包{/callout}项目代码隐藏内容,请前往内页查看详情项目部署docker容器内下安装go 环境# 安装命令 docker search go docker pull docker.io/golang # 查看镜像 docker images # 使用镜像,查看go 版本 docker run -it --rm golang bash 创建数据库CREATE DATABASE `httpmonitor` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; create user 'hmuser'@'172.18.0.%' IDENTIFIED BY '*********'; grant all privileges on httpmonitor.* to 'hmuser'@'172.18.0.%'; flush privileges; 修改配置vim httpmonitor/conf/app.conf iptables# 更新规则 vim /etc/sysconfig/iptables -A INPUT -p tcp -s 172.18.0.2 --dport 3306 -j ACCEPT # 重启生效 systemctl restart iptables 启动编译# 进入容器 docker run -it --rm -v /opt/project/httpMonitor/support/src:/go/src -v /opt/project/httpMonitor/httpmonitor:/go/src/github.com/cnlh/httpMonitor --privileged docker.io/golang /bin/bash # 容器内执行命令 cd src/github.com/cnlh/httpMonitor/ go env -w GO111MODULE=auto go build 调试# 进入容器 docker run -it --rm -p 802:8080 -v /opt/project/httpMonitor/support/src:/go/src -v /opt/project/httpMonitor/httpmonitor:/go/src/github.com/cnlh/httpMonitor -v /etc/localtime:/etc/localtime --privileged=true docker.io/golang /bin/bash # 服务启动 go run main.go 运行{message type="success" content="httpmonitor/start.sh 启动脚本"/}#!/bin/bash cd /go/src/github.com/cnlh/httpMonitor/ && ./httpMonitor >> logs/access.log {message type="success" content="运行"/}# 启动容器 docker run -it -d -p 802:8080 --name httpMonitor -v /opt/project/httpMonitor/support/src:/go/src -v /opt/project/httpMonitor/httpmonitor:/go/src/github.com/cnlh/httpMonitor -v /etc/localtime:/etc/localtime --privileged=true docker.io/golang /go/src/github.com/cnlh/httpMonitor/start.sh
2022年02月27日
145 阅读
1 评论
1 点赞