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. iLogtail社区版使用入门 - 采集MySQL Binlog

    简介: MySQL Binlog记录了MySQL的变更日志,业界也有一些方案来同步Binlog的数据,如Canal.MaxWell.DTS等.不同的工具可以实现不同的目标,iLogtail也提供了便捷 ...

  2. 【开发者成长】喧哗的背后:Serverless 的挑战

    作者 | 许晓斌  阿里云高级技术专家,目前负责阿里集团 Serverless 研发运维平台建设,<Maven 实战>作者,曾经是 Maven 中央仓库的维护者. 导读:本文作者作为阿里集 ...

  3. PyFlink 教程(三):PyFlink DataStream API - state & timer

    简介: 介绍如何在 Python DataStream API 中使用 state & timer 功能. 一.背景 Flink 1.13 已于近期正式发布,超过 200 名贡献者参与了 Fl ...

  4. CNCF TOC 委员张磊:不断演进的云原生给我们带来了什么?

    简介: 任何一种云原生技术,它不再是某种能力的弥补,而是更多地将云的能力以某种方式更简单.更高效地透出给我的应用去使用.无论是容器.K8s 还是 Service Mesh,他们都是在不同的环节帮助应用 ...

  5. dotnet OpenXML 解析 PPT 里表格的样式

    在 PPT 里面的表格可以通过表格样式配置决定表格的样式,本文将和大家介绍如何获取和解析表格的样式 本文属于 OpenXML 系列博客,有一定的上下文,详细请参阅 Office 使用 OpenXML ...

  6. 手把手教你如何构建 WPF 官方开源框架源代码

    从去年微软就将 WPF 开源了,差不多现在所有 WPF 的源代码都开源了.在学习框架的时候,我会做一些改动,期望能构建一个自己的版本进行测试.但是作为一个特别大的框架,想要构建跑起来可不是直接在 Vi ...

  7. keil 中未编译的代码灰色显示

    一.转载文章 转载:KEIL,#ifdef宏定义下失效代码差异性显示 注意keil的版本,太低的版本不具备灰色显示,据我所知在KEIL uVersion V5.31版本以上均可以. 二.使能灰色显示 ...

  8. uniapp+vue3聊天室|uni-app+vite4+uv-ui跨端仿微信app聊天语音/朋友圈

    原创研发uniapp+vue3+pinia2跨三端仿微信app聊天模板Uniapp-Wechat. uni-vue3-wchat基于uni-app+vue3+pinia2+uni-ui+uv-ui等技 ...

  9. Golang、python中MD5、SHA512、base64编码等

    在GO中处理的话,比较方便. func main() { fmt.Println(md5Str("woGo")) fmt.Println(sha512Str("woGo& ...

  10. 🔥httpsok彻底告别SSL证书续期烦扰

    httpsok彻底告别SSL证书续期烦扰 介绍 httpsok 是一个便捷的 HTTPS 证书自动续签工具,专为 Nginx .OpenResty 服务器设计.已服务众多中小企业,稳定.安全.可靠. ...