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. 力扣686(java)-重复叠加字符串匹配(中等)

    题目: 给定两个字符串 a 和 b,寻找重复叠加字符串 a 的最小次数,使得字符串 b 成为叠加后的字符串 a 的子串,如果不存在则返回 -1. 注意:字符串 "abc" 重复叠加 ...

  2. 力扣405(java)-数字转换为十六进制(简单)

    题目: 给定一个整数,编写一个算法将这个数转换为十六进制数.对于负整数,我们通常使用 补码运算 方法. 注意: 十六进制中所有字母(a-f)都必须是小写.十六进制字符串中不能包含多余的前导零.如果要转 ...

  3. 冬奥幕后故事:从低碳火炬到AI裁判,十四年后中国科技再上场

    ​北京冬奥会开幕后,一个段子在社交媒体上流传甚广:"夏奥开幕式和冬奥开幕式就差半年,这半年人类科技进步真大啊." ​ 文|张婧怡 封面来源|北京日报客户端 冬奥季终于到来. 2月4 ...

  4. 行业实战 | 5G+边缘计算+“自由视角” 让体育赛事更畅快

    简介: 世界本是多维的.进入5G时代,观众对多维度视觉体验的需求日益增长,5G MEC网络与边缘计算的结合,具备大带宽.低延迟特性,使视频多维视觉呈现成为现实.在第二十三届CUBA中国大学生篮球联赛期 ...

  5. Spring Boot Serverless 实战 | Serverless 应用的监控与调试

    ​简介:Spring Boot 是基于 Java Spring 框架的套件,它预装了 Spring 的一系列组件,让开发者只需要很少的配置就可以创建独立运行的应用程序.在云原生的环境中,有大量的平台可 ...

  6. [FAQ] Git远程仓库想把目录大写改为小写,windows本地不识别的的处理

      通过四步操作: 1. 先把忽略大小写设为false,即区分大小写git config core.ignorecase false 2. 拷贝出来备份那几个大写的目录,随后分支上操作删除,提交到远程 ...

  7. [FAQ] uni-app 如何让页面不展示返回箭头图标

    默认情况是,有历史上一页的 页面会在左上角展示返回图标. 比如登录页不想展示返回,在跳转进来时可以使用 uni.redirectTo({}),它能够关闭其它页面,这样当前页就不会有返回箭头了. Ref ...

  8. IIncrementalGenerator 解析 ValueTuple 的定义

    本文将告诉大家如何在分析器里面解析代码里面对于 ValueTuple 的定义,包括如何获取 ValueTuple 里面的 Item 的类型和命名 开始之前先创建一个用来被分析的项目,在这个项目里面定义 ...

  9. dotnet C# 如何正确获取藏文的字数

    在咱国内有很多有趣的文字,其中藏文属于有趣的文字里面特别有趣的一项,特别是对于做文本库的同学,大概都知道什么叫合写字吧.合写字的含义就是多个字符一起组成一个字.但是多个字符在内存中,本身就是多个字符对 ...

  10. dotnet 使用 XWT 构建跨平台客户端 入门篇

    本文告诉大家如何入门开始开发一个基于 mono 组织开源的 XWT 跨平台客户端 UI 框架的应用,本文的 xwt 是在 GitHub 上完全开源的,基于 MIT 协议的,底层采用 GTK# 的 UI ...