开发环境: Python 2.x GoLang 1.6 Django 1.6 Bootstrap 3.0 JQuery1.8 架构: 模块介绍: Agent:使用GoLang开发,主要收集主机信息、执行下发任务、主机状态上报、服务检测等 Master:使用GoLang开发,接收Agent上报的信息,存储到MySQL Dashboard:使用Python Django开发,前台展示及管理。前端使用B......
Python
2019年01月26日 17:15:58
Golang一直以来都缺少一个包管理工具,在Go mod出现之前安装软件依赖包只能使用go get,后来出现了vender(Golang1.5版本后),但并不理想vender类似node modules会在工程下建立一个目录然后把所有的依赖放在目录下,依赖越多这个目录也就越大,而且每个工程都需建立一个目录,比较浪费资源,但也确实解决了一些问题。自从Go 1.11引入Go mod摒弃vendor和G......
GoLang
2019年07月23日 13:55:18
在Linux中没有文件创建时间的概念,只有文件的访问时间、修改时间、状态改变时间,也就是说不知道文件的创建时间。但如果文件创建后就没有修改过修改时间就等于创建时间,如果文件创建后状态就没有改变过,那么状态改变时间就等于创建时间,如果文件创建后,没有被读取过那么访问时间就等于创建时间,这个基本不太可能。 与文件相关的几个时间: 1、访问时间,读一次这个文件的内容,这个时间就会更新。比如:对这个文件使......
Linux命令
2019年07月16日 14:58:33
在Linux系统中,一般不需要去释放内存,因系统已经将内存管理的很好。但也有例外的时候,有的时候内存会被缓存占用掉,导致系统使用SWAP空间影响性能,此时就需要执行释放内存(清理缓存)的操作了。 Linux系统的缓存机制是相当先进的,他会针对dentry(用于VFS,加速文件路径名到inode的转换)、Buffer Cache(针对磁盘块的读写)和Page Cache(针对文件inode的读写)进......
Linux命令
2019年07月16日 14:05:49
虽然 Prometheus 也提供了 Web UI 查看不同指标的视图,但是这个功能非常简单,只适合用来调试。要实现一个强大的监控系统,还需要一个能定制展示不同指标的面板,能支持不同类型的展现方式(曲线图、饼状图、热点图、TopN 等),这就是仪表盘(Dashboard)功能。因此 Prometheus 开发了一套仪表盘系统 PromDash,不过很快这套系统就被废弃了,官方开始推荐使用 Graf......
其他
2019年06月26日 15:54:47
在 Prometheus 中负责数据汇报的程序统一叫做 Exporter, 而不同的 Exporter 负责不同的业务。 它们具有统一命名格式,即 xx_exporter, 例如负责主机信息收集的 node_exporter。 Prometheus 数据采集方式也非常灵活。要采集目标的监控数据,首先需要在目标处安装数据采集组件( Exporter),它会在目标处收集监控数据,并暴露出一个 HTTP......
其他
2019年06月26日 15:15:04
什么是服务发现 在微服务的框架中,服务发现是一个重要的模块及组成部分,了解微服务的同学应该都知道它的重要性,我们这里就来简单的了解下,先来看一张图: 从图中看,客户端需要调用服务A,B,C,客户端必须要知道所有服务的网络位置(服务的ip和端口),以前的做法大多都是配置在配置文件中,或者配置在数据中,这就带来了几个问题: 从图中看,客户端需要调用服务A,B,C,客户端必须要知道所有服务的网络位置(服......
Linux服务
2019年06月25日 15:11:01
上一节 Prometheus pushgateway 代理(5) 介绍 在 Prometheus 中添加监控,需要手动修改 prometheus.yml 配置,也就是说以后每增加一个服务,就得手动修改此配置,并重启Prometheus 服务,十分的麻烦,那么如何做到动态的监听服务呢?这就要借助于服务发现与注册了,常见的有zookeeper、etcd、consul等,我们这里使用consul借助co......
其他
2019年06月24日 16:56:10
上一节 Prometheus alertmanager 告警(4) 介绍 Pushgateway是 Prometheus 生态中一个重要工具。因 Prometheus 采用 pull 模式,可能由于网络或跨域问题,导致 Prometheus 无法直接拉取各个主机 target 数据。因此可push数据到 Pushgateway 然后 Prometheus 在从 Pushgateway pull 数......
其他
2019年06月19日 15:27:29
Topic 和 Partition Topic 在逻辑上可以被认为是一个 queue,每条消费都必须指定它的 Topic,可以简单理解为必须指明把这条消息放进哪个queue 里。为了使得 Kafka 的吞吐率可以线性提高,物理上把 Topic 分成一个或多个 Partition,每个 Partition 在物理上对应一个文件夹,该文件夹下存储这个 Partition 的所有消息和索引文件。若创建 ......
Linux服务,Python
2019年06月10日 15:13:15
介绍 Apache Kafka是一个开源分布式发布-订阅消息系统,使用Scala编写。最初是LinkedIn公司开发,之后成为Apache项目。kafka是一种快速、可扩展的、分区的、可复制、分布式、多副本、多订阅者的日志服务,可以用于web日志、搜索日志、监控日志、访问日志等等。它提供了类似于JMS的特性,但设计实现完全不同。此外kafka对消息保存是根据Topic进行归类的。 官网 特性 高吞......
Linux服务
2019年06月10日 14:24:04