categraf支持多种方式进行部署、托管,社区里部署和管理categraf也是五花八门,大家自己使用方便即可。

之前我们觉得大家通过ansible之类的工具批量下发/更新就能很简单地完成任务,最近很多用户咨询我们关于categraf有没有更方便的升级方式,这也促使

我们思考如何让用户更快捷方便地完成服务管理与升级。 这两天我们发布了一个新版本,这里讲一下linux下的推荐方式, 欢迎大家提ISSUE和PR。

systemd

systemd 是一个 Linux 系统下的系统和服务管理工具,它是 Linux 启动过程的第一个进程(PID=1),它用于管理整个系统的服务状态,包括进程控制、日志记录、系统状态跟踪等等。它可以在系统启动时,并行启动所有系统服务,可以很好地管理守护进程、网络、时间、安全、日志和其他系统设置,实现了快速启动,同时也提高了系统资源的利用率和效率。

与传统的 SysVinit 不同,systemd 采用了各种新的技术来提高系统的可靠性和性能,例如 socket 激活器、并行启动、单位控制等等。更重要的是,systemd 提供了一个强大的系统统计功能,能够帮助管理员更好地了解和监控系统状态。这些统计信息包括 CPU、内存、磁盘、网络资源使用情况、特定服务的状态等等。

目前,systemd 已经成为 Linux 系统下最受欢迎和最流行的服务管理工具之一, 我们推荐使用systemd进行categraf托管。

注:centos6等老系统sysvinit也支持

categraf与systemd

为了使用systemd更方便的进行托管,我们设计了以下命令

  • install 创建categraf.service文件
  • remove 删除categraf.service文件
  • start 启动categraf服务 等价于 systemctl start categraf
  • stop 停止categraf服务 等价于 systemctl stop categraf
  • status 查看categraf运行状态 等价于 systemctl status categraf
  • update 执行categraf升级,需要指定升级包的url

下面分别介绍一下每个参数及使用方法。

install

举例,我将 https://download.flashcat.cloud/categraf-v0.3.36-linux-amd64.tar.gz 内容解压到了

/opt/categraf目录下, 执行sudo opt/categraf/categraf install命令,会在/etc/systemd/system/目录下创建categraf.service文件,文件内容如下

`install`命令会创建categraf.service文件,文件内容如下
```ini
# /etc/systemd/system/categraf.service
[Unit]
Description=Opensource telemetry collector
ConditionFileIsExecutable=/opt/categraf/categraf After=network-online.target
Wants=network-online.target [Service]
StandardOutput=journal+console
StandardError=journal+console
StartLimitInterval=3600
StartLimitBurst=10
ExecStart=/opt/categraf/categraf "-configs" "/opt/categraf/conf" WorkingDirectory=/opt/categraf Restart=on-failure RestartSec=120
EnvironmentFile=-/etc/sysconfig/categraf
KillMode=process
[Install]
WantedBy=multi-user.target

其实 install 会做以下3件事情

  • 创建categraf.service文件
  • 指定WorkingDirectory 为categraf的目录
  • 通过 -configs categraf所在目录的conf 指定配置目录
  • systemctl daemon-reload

remove

使用示例 sudo /opt/categraf/categraf --remove

remove动作会执行两个动作

  • 停止categraf , 等价于 systemctl stop categraf
  • 删除categraf.service文件

start

使用示例 sudo /opt/categraf/categraf --start

start动作等价 systemctl start categraf

stop

使用示例 sudo /opt/categraf/categraf --stop

stop动作等价 systemctl stop categraf

status

使用示例 sudo /opt/categraf/categraf --status

status动作等价 systemctl status categraf

update

update 动作用于升级categraf,需要指定升级包的url

使用示例 sudo /opt/categraf/categraf --update --update_url https://download.flashcat.cloud/categraf-v0.3.36-linux-amd64.tar.gz

这里有如下前提

  • linux系统,systemd(或SysVinit)托管
  • update_url 指定的包是 tar.gz 格式 ,包里包含一个categraf 可执行文件

下载包之后,categraf会进行解压,替换二进制文件,清理临时目录和文件,重启服务。

替换动作,使用压缩包里的categraf替换执行命令的二进制 ,示例中是 /opt/categraf/categraf,

如果你执行的是 /home/flashcat/categraf --update --update_url https://download.flashcat.cloud/categraf-v0.3.36-linux-amd64.tar.gz

那么被替换的就是 /home/flashcat/categraf

二进制升级成功之后,日志会输出 I! update categraf success

categraf托管与自升级的更多相关文章

  1. MySoft.Data 2.7.3版本的GitHub托管(ORM升级封装)

    MySoft.Data 2.7.3 dotnet ORM 版权 这里版权属于老毛:http://www.cnblogs.com/maoyong 说明 MySoft体系中的ORM组件,这里的版本为2.7 ...

  2. 处理 Windows 虚拟机的计划内维护通知

    Azure 定期执行更新,以提高虚拟机的主机基础结构的可靠性.性能及安全性. 更新包括如下更改:修补托管环境或升级以及解除硬件授权. 大多数此类更新在执行时不会影响托管的虚拟机. 但是,也会存在更新产 ...

  3. iMessenger 2.0.14.0801简述

    有些梦,看似遥不可及.但并非不能实现,仅仅要你足够的强!!.人力有时而穷,所以我们可能还须要一些热心人的帮助.这个人可能就是你. 四年来,我们一直在努力,从未放弃. 在我们做好一件事之前.我们永远不知 ...

  4. docker从零开始(四)集群初体验,docker-machine swarm

    介绍 在第三节中,选择了第二节中编写的应用程序,并通过将其转换为服务来定义它应如何在生产中运行,并生成五个应用实例 在本节中,将此应用程序部署到群集上,在多台计算机上运行它.多容器,多机应用程序通过连 ...

  5. Docker学习—Machine

    前言 前面<Docker学习-Compose>文中介绍了Compose的使用方式:接下来继续了解docker三剑客之一的 Machine: 一.Docker Machine简介 1.什么是 ...

  6. 一篇文章了解_docker

    (一)Docker介绍 2018年10月6日 星期六 15:04 什么就Docker? Docker是一个开源项目, 诞生于2013年初,最初是dotCloud公司内部的一个业余项目.它基于Googl ...

  7. Sentry 监控 - 私有 Docker Compose 部署与故障排除详解

    内容整理自官方开发文档 系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Map ...

  8. CODING 代码托管架构升级之路

    本文为 CODING 创始团队成员王振威在『CODING 技术小馆:上海站』的演讲实录. CODING 技术小馆,是由国内专业的一站式软件服务平台 CODING 主办的一系列技术沙龙.将邀请数位业内知 ...

  9. 前端学HTTP之Web主机托管

    前面的话 对内容资源的存储.协调以及管理的职责统称为Web主机托管.主机托管是Web服务器的主要功能之一.保存并提供内容,记录对内容的访问以及管理内容都离不开服务器.如果不想自行管理服务器所需的软硬件 ...

  10. 类EF框架Chloe.ORM升级:只为更完美

    扯淡 Chloe.ORM:一款轻量.高效的.NET C#数据库访问框架(ORM).查询接口借鉴 Linq(但不支持 Linq).借助 lambda 表达式,可以完全用面向对象的方式就能轻松执行多表连接 ...

随机推荐

  1. 链栈的实现 C语言/C++

    堆栈的链式存储C/C++实现--链栈 与顺序栈相比,链栈的优点在于不存在栈满上溢的问题.链栈通常使用单链表实现,进栈.出栈操作就是在单链表表头的 插入.删除操作.用单链表实现链栈时,使用不带头结点的单 ...

  2. Hologres如何支持亿级用户UV计算

    简介: 本文将介绍阿里云Hologres如何基于RoaringBitmap进行UV等高复杂度计算的方案,实现亿级用户万级标签亚秒级分析,帮助用户从Kylin平滑迁移到Hologres,实现更实时.开发 ...

  3. [FAQ] WebStorm/PHPStorm:设置 HTML/JavaScript/PHP 注释缩进行为,代码片段

    [注释行为] Preferences -> Code Style 选择语言后,找到 Wrapping and Braces, 取消 Comment at first column. 如果是HTM ...

  4. 防抖节流的含义使用场景及js实现原理

    1.防抖:n 秒后在执行该事件,若在 n 秒内被重复触发,则重新计时.代码实现重在清零 clearTimeout. 应用:登录,提交,浏览器窗口的resizes事件,文本编辑保存 <script ...

  5. telegraph + influxdb + grafana 实现交换机流量展示

    实验环境 influxdb2:2.7.5 telegraf:1.30.1 grafana:10.4.2 influxdb 官方文档见https://docs.influxdata.com/influx ...

  6. 从原始边列表到邻接矩阵Python实现图数据处理的完整指南

    本文分享自华为云社区<从原始边列表到邻接矩阵Python实现图数据处理的完整指南>,作者: 柠檬味拥抱. 在图论和网络分析中,图是一种非常重要的数据结构,它由节点(或顶点)和连接这些节点的 ...

  7. 深入理解 Swift Combine

    Combine 文中写一些 Swift 方法签名时,会带上 label,如 subscribe(_ subscriber:),正常作为 Selector 的写法时会忽略掉 label,只写作 subs ...

  8. WEB服务与NGINX(12)-NGINX的变量

    目录 1. nginx的变量 1.1 内置变量 1.2 自定义变量 1. nginx的变量 nginx的变量可以在配置文件中引用,作为功能判断或日志等场景使用,变量可以分为内置变量和自定义变量. 内置 ...

  9. 热烈祝贺 Splashtop 荣获“最佳远程办公解决方案”奖

    ​ 2021年2月,第十四届加拿大年度"经销商选择奖"落下帷幕.Splashtop在此次评选中荣获"最佳远程办公解决方案"奖,获得该奖项的还有微软和谷歌. 一直 ...

  10. CentOS7部署Redis(离线单机)

    一.检查是否安装 ## 检查是否安装了Redis [root@localhost /]# ps -ef | grep redis ## 存在就删除 [root@localhost /]# sudo y ...