categraf托管与自升级
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 categrafstop停止categraf服务 等价于 systemctl stop categrafstatus查看categraf运行状态 等价于 systemctl status categrafupdate执行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托管与自升级的更多相关文章
- MySoft.Data 2.7.3版本的GitHub托管(ORM升级封装)
MySoft.Data 2.7.3 dotnet ORM 版权 这里版权属于老毛:http://www.cnblogs.com/maoyong 说明 MySoft体系中的ORM组件,这里的版本为2.7 ...
- 处理 Windows 虚拟机的计划内维护通知
Azure 定期执行更新,以提高虚拟机的主机基础结构的可靠性.性能及安全性. 更新包括如下更改:修补托管环境或升级以及解除硬件授权. 大多数此类更新在执行时不会影响托管的虚拟机. 但是,也会存在更新产 ...
- iMessenger 2.0.14.0801简述
有些梦,看似遥不可及.但并非不能实现,仅仅要你足够的强!!.人力有时而穷,所以我们可能还须要一些热心人的帮助.这个人可能就是你. 四年来,我们一直在努力,从未放弃. 在我们做好一件事之前.我们永远不知 ...
- docker从零开始(四)集群初体验,docker-machine swarm
介绍 在第三节中,选择了第二节中编写的应用程序,并通过将其转换为服务来定义它应如何在生产中运行,并生成五个应用实例 在本节中,将此应用程序部署到群集上,在多台计算机上运行它.多容器,多机应用程序通过连 ...
- Docker学习—Machine
前言 前面<Docker学习-Compose>文中介绍了Compose的使用方式:接下来继续了解docker三剑客之一的 Machine: 一.Docker Machine简介 1.什么是 ...
- 一篇文章了解_docker
(一)Docker介绍 2018年10月6日 星期六 15:04 什么就Docker? Docker是一个开源项目, 诞生于2013年初,最初是dotCloud公司内部的一个业余项目.它基于Googl ...
- Sentry 监控 - 私有 Docker Compose 部署与故障排除详解
内容整理自官方开发文档 系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Map ...
- CODING 代码托管架构升级之路
本文为 CODING 创始团队成员王振威在『CODING 技术小馆:上海站』的演讲实录. CODING 技术小馆,是由国内专业的一站式软件服务平台 CODING 主办的一系列技术沙龙.将邀请数位业内知 ...
- 前端学HTTP之Web主机托管
前面的话 对内容资源的存储.协调以及管理的职责统称为Web主机托管.主机托管是Web服务器的主要功能之一.保存并提供内容,记录对内容的访问以及管理内容都离不开服务器.如果不想自行管理服务器所需的软硬件 ...
- 类EF框架Chloe.ORM升级:只为更完美
扯淡 Chloe.ORM:一款轻量.高效的.NET C#数据库访问框架(ORM).查询接口借鉴 Linq(但不支持 Linq).借助 lambda 表达式,可以完全用面向对象的方式就能轻松执行多表连接 ...
随机推荐
- 力扣532(java&python)-数组中的 k-diff 数对(中等)
题目: 给你一个整数数组 nums 和一个整数 k,请你在数组中找出 不同的 k-diff 数对,并返回不同的 k-diff 数对 的数目. k-diff 数对定义为一个整数对 (nums[i], n ...
- 力扣392(java)-判断子序列(简单)
题目: 给定字符串 s 和 t ,判断 s 是否为 t 的子序列. 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串.(例如,"ace&quo ...
- HarmonyOS NEXT应用开发案例—自定义日历选择器
介绍 本示例介绍通过CustomDialogController类显示自定义日历选择器. 效果图预览 使用说明 加载完成后显示主界面,点当前日期后会弹出日历选择器,选择日期后会关闭弹窗,主页面日期会变 ...
- 【走进RDS】之SQL Server性能诊断案例分析
简介: 数据库性能诊断不仅对其数据库技能要求较高,而且需要大量的前期准备工作,如收集各种性能基线.性能指标和慢SQL日志等,尤其是面对多数据库性能调优时,往往事倍功半. 客户的困扰 前几天某程序员小王 ...
- 揭秘 cache 访问延迟背后的计算机原理
简介:本文介绍如何测试多级 cache 的访存延迟,以及背后蕴含的计算机原理. CPU 的 cache 往往是分多级的金字塔模型,L1 最靠近 CPU,访问延迟最小,但 cache 的容量也最小.本 ...
- [Go] golang-migrate/migrate 快速使用指南
1. CLI 用途的安装 [文档] [确保] CLI 工具使用 go 命令安装时,不应该在 go.mod 所在的目录中执行命令,也就是先进入到其它非项目目录内. $ go get -tags 'pos ...
- [ML] 工程师使用 Keras 的步骤指引
设置 import numpy as np import tensorflow as tf from tensorflow import keras 介绍 在训练模型之前准备数据(将其转换为 NumP ...
- UOS 开启 VisualStudio 远程调试 .NET 应用之旅
本文记录的是在 Windows 系统里面,使用 VisualStudio 2022 远程调试运行在 UOS 里面 dotnet 应用的配置方法 本文写于 2024.03.19 如果你阅读本文的时间距离 ...
- WPF 优化 EnsureHandle 启动性能
本文将记录一个在 WPF 应用程序启动过程中的性能优化点.如果一个窗口需要设置 WindowStyle 属性,那么在窗口 EnsureHandle 之前,设置 WindowStyle 属性将会比在 E ...
- dotnet 6 使用 File.Exists 判断管道是否存在将让下次连接失败
我尝试在 dotnet 6 使用 File.Exists 判断管道是否存在,如果管道存在再进行连接.然而这个逻辑将会接下来的 NamedPipeClientStream 调用 Connect 连接失败 ...