Giter VIP home page Giter VIP logo

starsliao / tensuns Goto Github PK

View Code? Open in Web Editor NEW
1.2K 17.0 216.0 5.09 MB

🦄后羿 - TenSunS(原ConsulManager):基于Consul的运维平台:更优雅的Consul管理UI&多云与自建ECS/MySQL/Redis同步Prometheus/JumpServer&ECS/MySQL/Redis云监控指标采集&Blackbox站点监控维护&漏洞通知/资源到期余额告警&各类资源Grafana看板展示

Home Page: https://StarsL.cn

License: Do What The F*ck You Want To Public License

Dockerfile 0.12% Python 39.06% Shell 1.93% JavaScript 12.93% HTML 0.10% Vue 44.26% CSS 0.14% SCSS 1.22% Makefile 0.24%
consul blackbox-exporter prometheus node-exporter

tensuns's Introduction

Star History Chart

💎 我的推荐项目

Project Stars Forks Remark
后羿 - TenSunS 后羿 - TenSunS(原ConsulManager)是一个使用Flask+Vue开发,基于Consul的WEB运维平台,弥补了Consul官方UI对Services管理的不足;并且基于Consul的服务发现与键值存储:实现了Prometheus自动发现多云厂商各资源信息;基于Blackbox对站点监控的可视化维护;以及对自建与云上资源的优雅管理与展示。
Prometheus Grafana Dashboards for Prometheus Exporter:http://grafana.com/orgs/starsliao/dashboards
PythonTools Python写的小工具集合
StarsL.cn StarsL.cn
multi_mysqld_exporter Multi-target support

tensuns's People

Contributors

52594573 avatar anatsking avatar llody55 avatar starslcn avatar starsliao avatar toms1999 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tensuns's Issues

同步阿里云某个资源组

请问下大佬,后期是否计划会做可以根据阿里云某个资源组同步阿里云的机器资源,目前看已经有根据地区同步的了

调用华为云报错

由于没有开通 华为企业项目管理服务 ,造成添加华为云ECS失败。这个能做选择么? 不开通“ 华为企业项目管理服务” 也能添加ecs

使用multi_mysqld_exporter监控数据库实例出现以下告警信息

数据库的告警规则中并没有涉及到和站点有关的告警配置。告警规则是引用ConsulManager中的msql数据库的告警规则。为自建的mysql实例

监控告警信息

告警名称:站点可用性
告警级别:critical
故障时间:2023-02-02 17:35:22
实例地址:172.x.x.x:33801
主机名称:xx数据库

_xx数据库():站点无法访问
172.x.x.x:33801

使用一个redis_exporter监控所有的Redis实例,可以使用别的帐号吗,不使用default帐号?

以下这个部分,可以多加使用帐号?

新建一个redis的实例地址与密码文件,/data/redis-exporter/redis_passwd.json:

{
  "redis://xxxxxxxxxxx.dcs.huaweicloud.com:6379":"",
  "redis://aaaaaaaa.cn-south-1.dcs.myhuaweicloud.com:6379":"q1azw2sx"
}

docker-compose中挂载配置文件文件的本地路径注意根据实际情况修改。
配置文件的格式为json,每行一个实例的信息格式为:"redis://实例地址端口":"redis密码"
实例地址端口请查看云REDIS列表或自建redis管理的实例字段。
如redis无密码,保留空双引号即可""。
启动:docker-compose up -d

采用最新的镜像时,漏洞通知出现bug

麻烦大佬确认下,这块是不是有问题
我使用最新的镜像,配置漏洞通知时,只配置钉钉通知,测试时,发现报500错误,docker 日志如下:
image
然后我把微信通知也同时打开,但是HOOK 地址为空,发现可以正常采集和发送通知

能否默认用户名,自定义 tags?

刚接触这个项目,想问下:

  1. 能否更改默认认证用户,不使用 admin?
  2. web ui 默认的一些 targe 能否进行自定义,或是批量导入的时候,能否再额外新增 tags?

blackbox_exporter icmp报错

blackbox_exporter 使用icmp报错:
image

解决方法:
windows:需要管理员全选
centos:修改/etc/sysctl.conf
添加:
net.ipv4.ping_group_range = 0 2147483647

sysctl -p

再重新debug就应该正常了

grafana 8919中使用instance似乎不太合理

grafana 8919中存储类监控(网络等其它监控也有类似问题)使用instance作为条件获取数据,如果几台服务器在内网没有公网地址,通过同一外网转发http请求获取metrics,那么使用instance去获取metrics会导致很多条不相关的记录,因为这几台内网服务器的instance的ip都是一样的,虽然你在查询条件里写了"$instance:.+",但是似乎端口没有带入进去匹配,因为你的查询条件IP下拉选项过滤了端口?建议使用name来获取或者添加新的条件,或者修复下查询条件IP的内容,使其不过滤端口?

自建主机-redis-mysql管理返回500返回码

image
image

请教各位大佬有没有遇到过同样的问题,同时配置blackbox和自建主机管理就会在自建主机管理、自建mysql管理、自建redis管理等页面报500返回码。

支持同步阿里云云主机标签

请问下大佬,同步阿里云云主机标签这个功能有计划做不,这样的话,设置报警就可以精细化了,研发爸爸们的各类特殊的报警需求搞的头大

能否在获取云主机的时候支持切换到公网ip,以及资源告警时加上公网ip

1.现在获取到的只能是内网IP,虽然功能上支持自定义IP,但问题是当有大批量的云主机的时这个步骤就会极为头疼,如果能在获取的时候支持切换到公网ip 那这样的话就方便很大

2.前段时间云主机到期告警的功能终于上线了。但是一直有一个问题,通过钉钉告警的资源内容里没有IP这个参数
这样的话就单看告警没法第一时间知道是哪个机器的IP,因为能看到这个告警的人不一定能登录阿里云,所以他们这种时候只知道有机器到期了,却不知道是哪一台

优化prometheus.yaml提议

源内容

    params:
      module: [http_2xx]

目标内容

 relabel_configs:
      - source_labels: [__meta_consul_service_metadata_module]
        target_label: __param_module

这样就可以省略写多个promteheus的job了,将需要用的blackbox module作为tag注册进consul, 然后prometheus进行label 替换为param参数.

无法显示轻量服务器

添加了阿里云跟腾讯云的数据源,账号权限都给到了但是云主机列表是空的,添加数据源的页面可以看到同步的组信息是1,但是主机是0,阿里云跟腾讯云的都是只有轻量服务器,轻量服务器上都运行了node_exporter,是程序不支持读取管理轻量服务器还是我少设置了呢?
image

ConsulManager 云资源监控-自检主机管理

版本v0.8.1
自建主机管理-导入300台主机,显示导入成功,实际显示15台,
日志:
image

flask 日志显示:
image

nginx:日志显示
image

没看到报错信息,但是前端页面仅显示15台

编辑后 xls文件大小
image

Translation

Hi

Nice project!

Do you have any plans to translate it to English ?

关于站点1h可用性告警,恢复时间获取到的数据类型为null,有大佬遇到同样的问题吗。其他告警项则正常

告警规则:

  • alert: 站点1h可用性低于80%
    expr: sum_over_time(probe_success[1h])/count_over_time(probe_success[1h]) * 100 < 80
    for: 3m
    labels:
    alertype: domain
    severity: warning
    annotations:
    description: "{{ $labels.env }}_{{ $labels.name }}({{ $labels.project }}):站点1h可用性:{{ $value | humanize }}%\n

{{ $labels.instance }}"

为null时,消息推送后拿到的时间为:0001-01-01 08:00:00

告警模板如下
恢复时间: {{ ($alert.EndsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}

同步jumpserver失败

jumpserver版本1.5.5-101
a61g3auxl0
调用jumpserver接口发现没有nodes_display字段,只有nodes字段,改为nodes后正常同步

自建主机管理里如果字段里有控制字符,无法删除

如果字段里有控制字符,如/ \t 之类的,无法在后台删除,会报400错误;

通过curl调consul的url方式也无法删除,也返回400错误。
只能通过json的方式删除:
curl -s -X PUT -d '{"Node": "your_node", "ServiceID": "/service_with_slash"}' http://consul.service.consul:8500/v1/catalog/deregister

所以建议ConsulManager删除consul的服务的时候,也使用json的方式删除,兼容字符里有控制字符的情况。

我现在有办法删除consul里的服务实例,但是删除之后马上就恢复了,不知是不是ConsulManager有定时任务会把自己的数据再同步到consul里?

无法删除健康检查

因为ConsulManager 部署在自建主机上,没法对云平台的 RDS 进行健康检查。
dial tcp 172.18.196.63:3306: connect: no route to host.
想要删除健康检查,但是删除后一会又会恢复。 删除实例也是一样
image

scanning-ittc-ku-edu服务

麻烦咨询下 我在搭建后接入到consul不就 出现了scanning-ittc-ku-edu的一个节点 状态不可用 这个服务器是咱们的吗?

可否支持自定义端口的选项?

非常感谢,你的产品在工作中用到了,非常实用美观。我所负责支持的公司,不支持实用默认端口。比如node-expoter的9100,我发现从阿里云导入后,exporter默认使用的是9100,我试着从实例管理->剪辑->手动改成19100(端口和meta上下两个位置),过一会就又变回9100了。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.