1 Telegraf简介
1.1 插件介绍
Telegraf是一款由InfluxData公司开发的开源指标收集工具,它基于插件化的设计,能够结合时序性数据库进行使用,用于性能监控。通常,Telegraf会每间隔一段时间抓取一批指标数据并将数据发送给时序性数据库或其他自定义的Output。此外,Telegraf还支持多种输入和输出插件,可以根据需要采集各种组件的运行信息,并支持自定义配置文件。
1.2 qga介绍
QEMU Guest Agent,简称qga,是一个运行在虚拟机内部的守护程序(qemu-guest-agent.service)。其目的是实现一种宿主机和虚拟机进行交互的方式,这种方式不依赖于网络,而是依赖于virtio-serial(默认首选方式)或者isa-serial。
具体来说,QEMU为宿主机和虚拟机提供了一个数据通道,这个通道的两端分别是在虚拟机内看到的串口和在宿主机上看到的unix socket文件。qga通过读写串口设备与宿主机上的socket通道进行交互,宿主机上可以使用普通的unix socket读写方式对socket文件进行读写,最终实现与qga的交互。交互的协议与qmp(QEMU Monitor Protocol)相同,即使用JSON格式进行数据交换。
Ø 使用场景:一种宿主机和虚拟机进行交互的方式,QGA还会采集云主机的内存、磁盘利用率等状态,如果客户关闭QGA,会导致无法修改云主机名称、修改密码、查看系统性能监控。注意,这个服务需要与host上的qemu匹配。
2 安装指南
2.1 Windows操作系统
前提条件:系统为Windows7/Windows Server 2008 R2以上,administrator账户安装。
2.1.1 安装qga
2.1.1.1 检查是否已安装
途径一:powershell运行 # get-service qemu-ga
途径二:管理员运行cmd # sc query qemu-ga
如回显如上图所示,则表示系统已安装qga
2.1.1.2 安装qga
如检查结果显示未安装qga,请下载安装包上传至云主机安装:
“qemu-ga-i386.msi”为32位Windows操作系统安装程序。
“qemu-ga-x86_64.msi”为64位Windows操作系统安装程序。
安装完成后,请继续按照2.1.1.1章节检查是否安装成功,然后进入系统服务内将qga的两项服务设置为自动启动。
2.1.1.3 安装telegraf
1、下载上传“telegraf.exe”和“telegraf.conf”至云主机,在C:\Program Files\路径下新建文件夹telegraf,将下载的文件放在创建的目录下。
2、更改配置文件C:\Program Files\telegraf\telegraf.conf
如下图中两个 位置中的的参数需要修改为该虚拟机的vm_uuid即可(vm_id由运维人员提供),修改后保存。
2.1.2 生成服务并验证
在PowerShell或管理员运行cmd,执行如下命令:
# cd C:\"Program Files"\telegraf\
# C:\"Program Files"\telegraf\telegraf.exe --service install
继续执行如下命令,验证telegraf运行是否正常:
# C:\"Program Files"\telegraf\telegraf.exe --config C:\"Program Files"\telegraf\telegraf.conf --test
如需要删除服务: sc delete
sc delete 是 Windows 操作系统中用于删除 Windows 服务的命令行工具。
1. 打开命令提示符:•在 Windows 搜索栏中输入 cmd,然后按 Enter 键或右键选择“以管理员身份运行”,以打开命令提示符窗口。使用管理员权限运行可以确保有权删除系统服务。
2. 确定要删除的服务名称:•要删除的服务名称应准确无误。您可以通过以下命令列出系统中所有服务的名称及其显示名称(便于识别):sc query state=all
查看输出结果,找到您想要删除的服务,记下其“SERVICE_NAME”。
3. 执行删除命令:•使用以下格式的 sc delete 命令删除指定服务:sc delete <服务名>
将 <服务名> 替换为实际要删除的服务的 SERVICE_NAME。
要开始收集数据,请运行:
# net start telegraf
再次进入服务内,检查telegraf是否为自动启动,正常情况下会有回显日志并无报错,3-5分钟门户将显示监控信息,如有报错或无监控,请联系运维人员排查。
2.2 CentOS 7.x操作系统
前提条件:系统为Centos 7.X或Red Hat Linux 7.X,root账户安装。
2.2.1 安装qga及telegraf
2.2.1.1 安装qga
检查是否安装qga,如未安装,请使用yum安装
# systemctl status qemu-guest-agent
# yum install qemu-guest-agent
安装后,重启服务并设置开机自启
# systemctl daemon-reload
# systemctl restart qemu-guest-agent
# systemctl enable qemu-guest-agent
2.2.1.2 安装telegraf
1、先下载linux的conf配置文件,并修改配置文件中uuid信息,如下图中两个位置中的的参数需要修改为该虚拟机的vm_uuid即可(vm_id由运维人员提供),修改后保存。
2、下载telegraf的rpm包,上传至云主机并安装:
# rpm -ivh telegraf-1.15.4-1.x86_64.rpm
3、将步骤1中改过的telegraf.conf配置文件拷贝至/etc/telegeraf/下,将默认配置文件替换掉。
4、修改系统中telegraf.service文件
# vi /usr/lib/systemd/system/telegraf.service
如果其中User=telegraf,改成User=root,保存退出。
5、最后重启telegraf服务并设置开机自启:
# systemctl daemon-reload
# systemctl restart telegraf
# systemctl enable telegraf
2.2.2 验证服务是否正常
1、检查以下文件是否存在,如缺少,请联系运维人员处理
# ll /dev/virtio-ports/
2、检查服务是否有其他报错
# systemctl status telegraf -l
正常情况下会有回显日志并无报错,3-5分钟门户将显示监控信息,如有报错或无监控,请联系运维人员排查。
2.3 CentOS 6.x操作系统
前提条件:系统为Centos 6.X或Red Hat Linux 6.X,root账户安装。
2.3.1 安装qga及telegraf
2.3.1.1 安装qga
1、检查是否安装qga:
# service qemu-ga status
2、如未安装,请下载安装包,或直接在阿里的源上下载安装包,然后安装:
# yum localinstall qemu-guest-agent-0.12.1.2-2.503.el6_9.6.x86_64.rpm
3、重启qemu-ga服务并设置开机自启:
# service qemu-ga restart
# service qemu-ga status
# chkconfig qemu-ga on
检查qemu-ga第三个字段是否为on
# chkconfig --list qemu-ga
2.3.1.2 安装telegraf
1、先下载linux的conf配置文件,并修改配置文件中uuid信息,如下图中两个位置中的的参数需要修改为该虚拟机的vm_uuid即可(vm_id由运维人员提供),修改后保存。
2、下载telegraf的rpm包,上传至云主机并安装:
# rpm -ivh telegraf-1.15.4-1.x86_64.rpm
3、将步骤1中改过的telegraf.conf配置文件拷贝至/etc/telegeraf/下,将默认配置文件替换掉。
4、修改系统中telegraf启动文件
# cat /etc/rc.d/init.d/telegraf
中兴新支点centos6如下:
# cat /usr/lib/systemd/system/telegraf.service
如果27-28行其中USER=telegraf,GROUP=telegraf,均改为root,保存退出。
5、最后重启telegraf服务并设置开机自启:
# service telegraf restart
# service telegraf status
# chkconfig telegraf on
检查telegraf第三个字段是否为on
# chkconfig --list telegraf
2.3.2 验证服务是否正常
1、检查以下文件是否存在,如缺少,请联系运维人员处理
# ll /dev/virtio-ports/
2、检查服务是否正常运行
# service qemu-ga status
# service telegraf status
3、检查下telegraf的log日志
# tail -n 10 telegraf/telegraf.log
# tail -f telegraf/telegraf.log
正常情况下会有回显日志并无报错,3-5分钟门户将显示监控信息,如有报错或无监控,请联系运维人员排查。
2.4 FreeBSD操作系统
前提条件:系统为Centos 6.X或Red Hat Linux 6.X,root账户安装。
2.4.1 安装qga及telegraf
2.4.1.1 安装qga
1、检查是否安装qga:
# service qemu-guest-agent status
2、如未安装,请下载安装包并安装:
# pkg update
# echo "deb http://pkg.FreeBSD.org/FreeBSD:13:amd64/quarterly contrib/ qemu" >> /etc/apt/sources.list
# pkg install qemu-guest-agent
3、重启qemu-ga服务并设置开机自启:
# kldload virtio_console
# service qemu-guest-agent enable
# service qemu-guest-agent start
# service qemu-guest-agent status
2.4.1.2 安装telegraf
1、先下载linux的conf配置文件,并修改配置文件
修改一:uuid及hostname信息,如下图中两个位置中的的参数需要修改为该虚拟机的vm_uuid即可(vm_id由运维人员提供),修改后保存。
修改二:修改[outputs.file]中files选项""中路径,需要确保改为"/dev/vtcon/org.qemu.telegraf_agent.0"
2、在线下载并安装telegraf,设置开机自启:
# pkg install telegraf
# service telegraf enable
# service telegraf start
# service telegraf status
3、将步骤1中改过的telegraf.conf配置文件拷贝至/etc/和/usr/local/etc/两个目录下
4、修改系统中telegraf启动文件
# cat /usr/local/etc/rc.d/telegraf
如果其中telegraf_user=telegraf,telegraf_group=telegraf,均改为root,保存退出。
# ee /usr/local/etc/rc.d/telegraf
5、最后重启telegraf服务并设置开机自启:
# service telegraf reload
# service telegraf restart
# service telegraf status
2.4.2 验证服务是否正常
1、检查以下文件是否存在,如缺少,请联系运维人员处理
# ll /dev/vtcon/
2、检查服务是否正常运行
# service qemu-guest-agent status
# service telegraf status
3、检查下telegraf的log日志
# tail -n 10 /var/log/telegraf/telegraf.log
# tail -f /var/log/telegraf/telegraf.log
正常情况下会有回显日志并无报错,3-5分钟门户将显示监控信息,如有报错或无监控,请联系运维人员排查。
注意:如重启服务器发现qga无法启动,请操作以下步骤:
# kldload virtio_console
# service qemu-guest-agent restart
# service telegraf restart
2.5 Ubuntu操作系统
前提条件:系统为Ubuntu 15.04及更高版本,root账户安装。
2.4.1 安装qga及telegraf(待确认后完善)
2.4.1.1 安装qga
1、检查是否安装qga:
# service qemu-guest-agent status
2、如未安装,请下载安装包并安装:
# 更新软件包列表
sudo apt update
# 安装 qemu-guest-agent
sudo apt install qemu-guest-agent
# 启动 qemu-guest-agent
sudo systemctl start qemu-guest-agent.service
# 设置开机自启(在Ubuntu 15.04及更高版本使用systemd)
sudo systemctl enable qemu-guest-agent.service
2.4.1.2 安装telegraf
1、先下载linux的conf配置文件,并修改配置文件
修改一:uuid及hostname信息,如下图中两个位置中的的参数需要修改为该虚拟机的vm_uuid即可(vm_id由运维人员提供),修改后保存。
修改二:修改[outputs.file]中files选项""中路径,需要确保改为"/dev/virtio-ports/org.qemu.telegraf_agent.0"(该处待确定)
2、在线下载并安装telegraf,设置开机自启:
# 首先导入InfluxData的GPG密钥
curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
# 添加InfluxData的APT仓库到你的系统
echo "deb https://repos.influxdata.com/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
# 更新apt软件包列表以获取新的仓库信息
sudo apt update
# 现在你可以安装telegraf了
sudo apt install telegraf
# 启动telegraf服务
sudo systemctl start telegraf.service
# 设置telegraf服务开机启动
sudo systemctl enable telegraf.service
如果遇到报错InfluxData仓库的公钥未被信任,可手动导入InfluxData的公钥再apt update后安装
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D8FF8E1F7DF8B07E
3、将步骤1中改过的telegraf.conf配置文件拷贝至/etc/和/usr/local/etc/两个目录下
4、修改系统中telegraf启动文件
# cat /usr/lib/telegraf/scripts/telegraf.service
以及# cat /lib/systemd/system/telegraf.service
如果其中user=telegraf,改为root,保存退出。
5、最后重启telegraf服务并设置开机自启:
sudo systemctl daemon-reload
sudo systemctl restart telegraf.service
sudo systemctl status telegraf.service
2.4.2 验证服务是否正常(待确认后完善)
1、检查以下文件是否存在,如缺少,请联系运维人员处理
# ll /dev/virtio-ports/
2、检查服务是否正常运行
# service qemu-guest-agent status
# service telegraf status
3、检查下telegraf的log日志
# tail -n 10 /var/log/telegraf/telegraf.log
# tail -f /var/log/telegraf/telegraf.log
正常情况下会有回显日志并无报错,3-5分钟门户将显示监控信息,如有报错或无监控,请联系运维人员排查。
注意:如重启服务器发现qga无法启动,请操作以下步骤:
# kldload virtio_console
# service qemu-guest-agent restart
# service telegraf restart
3 附录
3.1 监控参数说明
[global_tags]
vm_os_type = "windows"
vm_uuid = "144a1626-4983-48b5-89c1-286ccaf2590b"
# vm_os_type设置为“windows”,表示虚拟机的操作系统。
# vm_uuid被设置为vm的唯一标识符。
[agent]
interval = "120s"
# interval设置为“120s”,定义Telegraf收集度量的时间间隔。
round_interval = true
# round_interval设置为true,这意味着Telegraf将把采集间隔对齐为间隔时间的精确倍数。
metric_batch_size = 1000
# metric_batch_size设置为1000,定义Telegraf在发送到输出插件之前将缓冲的最大度量数。
metric_buffer_limit = 10000
# metric_buffer_limit设置为10000,定义Telegraf在丢弃度量或在缓冲区已满时刷新到输出插件之前将缓冲的最大度量数。
flush_buffer_when_full = true
# flush_bbuffer_when_full设置为true,表示Telegraf将在缓冲区达到metric_buffer_limit指定的限制时立即刷新缓冲区。
collection_jitter = "5s"
# collection_tjitter设置为“5s”,定义了一个随机抖动时间,用于避免同时收集度量。
flush_interval = "60s"
# flush_interval设置为“60s”,定义Telegraf将缓冲的度量刷新到输出插件的间隔。
flush_jitter = "10s"
# flush_tjitter设置为“10s”,定义添加到刷新间隔的随机抖动时间,以帮助避免同时刷新度量。
debug = false
quiet = false
Hostname = "144a1626-4983-48b5-89c1-286ccaf2590b"
# debug及quiet设置为false,Hostname同样为云主机uuid唯一标识
logfile = "C:\\Program Files\\telegraf\\telegraf.log"
# logfile表示telegraf将在哪里写入日志文件。
[[outputs.file]]
files = ["\\\\.\\Global\\org.qemu.telegraf_agent.0"]
# 文件设置为[“\\\\.\\Global\\org.qemu.telegraphf_agent.0”],这是一个用于telegraf和其他进程之间通信的命名管道(FIFO)
data_format = "influx"
# data_format设置为“inclux”,表示Telegraf将使用InfluxDB数据格式格式化度量。
[[inputs.cpu]]
name_prefix = "vm_win_new_"
# name_prefix设置为“vm_win_new_”,表示用于与虚拟机上CPU使用情况相关的度量名称的前缀。
[[inputs.mem]]
name_prefix = "vm_win_new_"
# name_prefix设置为“vm_win_new_”,表示用于与虚拟机内存使用情况相关的度量名称的前缀
[[inputs.win_perf_counters]]
[[inputs.win_perf_counters.object]]
ObjectName = "LogicalDisk"
Instances = ["*"]
Counters = ["% Idle Time","% Disk Time","% Disk Read Time","% Disk Write Time", "Current Disk Queue Length","% Free Space","Free Megabytes",]
Measurement = "vm_win_disk"
[[inputs.win_perf_counters.object]]
ObjectName = "PhysicalDisk"
Instances = ["*"]
Counters = ["Disk Read Bytes/sec","Disk Write Bytes/sec","Current Disk Queue Length","Disk Reads/sec", "Disk Writes/sec","% Disk Time","% Disk Read Time","% Disk Write Time",]
Measurement = "vm_win_diskio"
[[inputs.win_perf_counters.object]]
ObjectName = "Network Interface"
Instances = ["*"]
Counters = ["Bytes Received/sec","Bytes Sent/sec","Packets Received/sec","Packets Sent/sec", "Packets Received Discarded","Packets Outbound Discarded","Packets Received Errors","Packets Outbound Errors",]
Measurement = "vm_win_net"
[[inputs.win_perf_counters.object]]
ObjectName = "Process"
Instances = ["*"]
Counters = ["% Processor Time","Handle Count","Private Bytes","Thread Count","Virtual Bytes","Working Set",]
Measurement = "vm_win_proc"
[[inputs.win_perf_counters.object]]
ObjectName = "System"
Instances = ["------"]
Counters = ["Context Switches/sec","System Calls/sec","Processor Queue Length","System Up Time",]
Measurement = "vm_win_system"
#此部分表示支持收集Windows性能计数器,这些计数器提供有关系统和进程性能的指标。
定义了多个[[inputs.win_perf_counters.object]]部分,每个部分指定对象类型(例如,LogicalDisk、PhysicalDisk、Network Interface、Process、System)和相关配置。每种对象类型都有一组不同的计数器,并根据对象类型和计数器名称为度量分配度量名称。例如:
LogicalDisk对象收集有关磁盘使用率和活动的指标,并将它们分配给“vm_win_disk”度量。
PhysicalDisk对象收集有关磁盘读/写活动和磁盘时间使用情况的度量,并将它们分配给“vm_win_diskio”度量。
Network Interface对象收集有关网络流量和错误的度量,并将它们分配给“vm_win_net”度量。
Process对象收集有关进程CPU和内存使用情况的度量,并将它们分配给“vm_win_proc”度量。
System对象收集有关系统上下文切换、系统调用和系统启动时间的度量,并将它们分配给“vm_win_System”度量。
最后,该配置文件设定Telegraf安装在目录“C:\Program Files\telegraf”中。
3.2 qemu-guest-agent异常处理方法
3.2.1 Linux
虚机修改密码或主机名失败
原因1:
使用的不是定制化的qemu-ga。
解决方法:
替换成定制化的qemu-ga(详细步骤见附录)。
原因2:
查看相关状态、日志信息,权限问题导致修改失败。
解决方法:
关闭虚机的selinux服务。
# setenforce 0
# vim /etc/selinux/config
SELINUX=disabled
3.2.2 Windows
3.2.2.1 修改主机名或密码失败
原因1:
可能安装杀毒软件,将qemu-ga.exe当做病毒删除。
解决方法:
查看杀毒软件,将其删除的qemu-ga.exe文件恢复,并将其设置为白名单。
原因2:
杀毒软件安全策略可能存在问题。
解决方法:
需要用户重新设置根据不同的杀毒软件设置防护策略。
3.2.2.2 qemu-guest-agent.msi安装或卸载异常
原因:
可能由异常卸载或删除导致卸载不完全,需要清理剩余的残留后重新安装。
解决方法1:
如果控制面板中有QEMU guest agent使用控制面板卸载后重新安装即可。
解决方案2:
# msiexec /a qemu-guest-agent.msi
将其C盘中QEMU Guest Agent 文件夹中的Qemu-ga 文件夹复制到Program Files中。
进入到目录并使用卸载命令,清除qemu-ga残留。
# cd C:\Program Files\Qemu-ga
# qemu-ga.exe -s uninstall
点击安装包去重新安装qemu-ga,则可以正常安装。
解决方案3:
卸载 QEMU Guest Agent 软件:
在服务器中单击开始,在搜索框中输入服务,回车确认。
查看是否有 QEMU Guest Agent VSS Provider 服务,若无该项服务,您可以直接 重新运行迁云工具。
找到卸载脚本,大概位置位于 C:\Program Files (x86)\virtio\monitor\uninstall.bat 目录,执行脚本卸载 QEMU Guest Agent 软件。
3.2.2.3 qemu-guest-agent报错1053
作用
1. 安装 qemu guest agent 可以用于对 libvirtd 下的 instance 进行管理
2. 可以用于收集 windows 的内存信息 (需要添加 balloon 驱动)
参考安装 qemu guest agent + balloon 驱动前的 windows 数据返回与 linux 下的数据返回差异。
默认状态下, windows 只返回当前系统分配的内存 actual 与当前进程 (kvm) 使用中的内存值。
[root@hh-yun-compute-131230 ~]# virsh dommemstat instance-00023f5f (windows 2012)
actual 8388608
rss 8245820
[root@hh-yun-compute-131230 ~]# virsh dommemstat instance-000242c3 (centos6.8)
actual 4194304
swap_in 0
swap_out 0
major_fault 397
minor_fault 1544402
unused 3769676
available 3924492
rss 532292
glance image 配置
glance image-update --property dhw_qemu_guest_agent=yes xxxx-image-i-xxxx
ex:
glance image-update --property hw_qemu_guest_agent=yes c0a3df0f-deaa-49e1-9dc6-f5a6034a12b6
需要重启对应 openstack instance 才生效
参考配置正确并重启后的 instance 中的 libvirt.xml 配置
/var/lib/nova/instances/f4423241-9ad2-48b5-b217-0f707f3ec921/libvirt.xml
<channel type="unix">
<source mode="bind" path="/var/lib/libvirt/qemu/org.qemu.guest_agent.0.instance-00023f5f.sock"/>
<target type="virtio" name="org.qemu.guest_agent.0"/>
</channel>
软件获取
方法一
wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo -O /etc/yum.repos.d/virtio-win.repo
yum install -y virtio-win.noarch
iso 软件存放在
/usr/share/virtio-win/virtio-win.iso
方法二
wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso
软件安装
1. windows 系统获得 virtio-win.iso (略)
2. windows2012 双击可直接作虚拟光盘使用
3. 打开光盘后, 看到下面两个重要目录 guest-agent (包含安装的二进制文件 (qemu-ga-x64.msi, qemu-ga-x86.msi) vioserial ( virto-serail driver )
解决 1053 错误
假如直接安装 qemu-ga 软件
启动 qemu-guest-agent 服务时候, 将会报错 1053
要解决这个问题, 你必须自行手动安装 virto serail 驱动
1. 参考下面驱动安装方法
先更新 virto-serail driver
更新 pci 简单通讯控制器 (使用 vioserail 目录中的驱动)
点击确认安装
确认安装完成
然后更新balloon pci 驱动 (windows2012)
( win7, win2008 不需要更新该设备)
安装qemu guest agent
根据系统版本(x64,x86)
双击光盘 guest-agent 目录下的 qemu-ga-x86.msi 或 qemu-ga-x64.msi
安装过程(略)
启动 qemu guest agent 服务
利用 cmd ( services.msc) 启动 qemu guest agent 服务后验证服务
启动 balloon 服务
复制光盘中 balloon 目录到 c:2. 注册 balloon 服务
参考命令行
c: mkdir "c:Program Filesballoon"copy d:balloon2k12amd64* "c:Program Filesballoon."
cd c:Program Filesballoon blnserv.exe -i
3.2.2.3 qemu-guest-agent服务启动失败
执行/usr/bin/qemu-ga -v 查看具体原因,返回显示如下:
① -bash: /usr/bin/qemu-ga: Permission denied
原因:
qemu-ga 没有执行权限。
解决方法:
# chmod a+x /usr/bin/qemu-ga
② Failed to create file “/usr/local/var/run/qga.state”
原因:
定制化的软件包需要该目录存放相关信息。
解决方法:
# mkdir -p /usr/local/var/run
③ -bash: /usr/bin/qemu-ga: cannot execute binary file
原因:
使用的qemu-ga版本与虚机架构、操作系统版本不匹配或qemu-ga二进制文件损坏。
解决方法:
用正确版本的qemu-ga进行替换。
3.2.2.4 qemu-ga替换步骤
① el6
1、停止qemu-ga服务:
# service qemu-ga stop
2、备份原有的可执行文件:
# mv /usr/bin/qemu-ga /usr/bin/qemu-ga.bak
3、更新为新的可执行文件:
# cp qemu-ga /usr/bin/
4、赋予qemu-ga可执行权限:
# chmod a+x /usr/bin/qemu-ga
5、 重启qemu-ga服务:
# service qemu-ga restart
6、设置qemu-ga服务开机自启动:
# chkconfig qemu-ga on
② el7、el8
1、停止qemu-ga服务:
# systemctl stop qemu-guest-agent
2、 备份原有的可执行文件:
# mv /usr/bin/qemu-ga /usr/bin/qemu-ga.bak
3、更新为新的可执行文件:
# cp qemu-ga /usr/bin/
4、赋予qemu-ga可执行权限:
# chmod a+x /usr/bin/qemu-ga
5、重启qemu-ga服务:
# systemctl restart qemu-guest-agent
6、设置qemu-ga服务开机自启动:
# systemctl enable qemu-guest-agent
③ Ubuntu
Ubuntu14.04
1、停止qemu-ga服务:
# service qemu-guest-agent stop
2、备份原有的可执行文件:
# mv /usr/sbin/qemu-ga /usr/sbin/qemu-ga.bak
3、更新为新的可执行文件:
# cp qemu-ga /usr/sbin/
4、赋予qemu-ga可执行权限:
# chmod a+x /usr/sbin/qemu-ga
5、重启qemu-ga服务:
# service qemu-guest-agent restart
6、设置qemu-ga服务开机自启动:
# sysv-rc-conf qemu-guest-agent on
④ Ubuntu16.04/18.04/Ubuntu20.04
1、停止qemu-ga服务:
# systemctl stop qemu-guest-agent
2、备份原有的可执行文件:
# mv /usr/sbin/qemu-ga /usr/sbin/qemu-ga.bak
3、更新为新的可执行文件:
# cp qemu-ga /usr/sbin/
4、赋予qemu-ga可执行权限:
# chmod a+x /usr/sbin/qemu-ga
5、重启qemu-ga服务:
# systemctl restart qemu-guest-agent
6、设置qemu-ga服务开机自启动:
# systemctl enable qemu-guest-agent
⑤ Suse
Suse11
1、使用命令进行升级,以 qemu-guest-agent-2.0.4-1.42.x86_64.rpm 为例,实际需根据qemu-guest-agent具体版本号进行修改 :
# rpm -Uvh qemu-guest-agent-2.0.4-1.42.x86_64.rpm
2、重启qemu-ga服务:
# rcqemu-ga restart
3、设置qemu-ga服务开机自启动,需要在 after.local 文件末尾添加以下内容:
# vim /etc/init.d/after.local
rcqemu-ga restart
⑥ Suse12
1、使用命令进行升级,以 qemu-guest-agent-2.0.2-40.14.x86_64.rpm 为例,实际需根据qemu-guest-agent具体版本号进行修改 :
# rpm -Uvh qemu-guest-agent-2.0.2-40.14.x86_64.rpm
2、重启qemu-ga服务:
# systemctl restart qemu-ga
3、设置qemu-ga服务开机自启动:
# systemctl restart qemu-ga
3.3 linux系统telegraf异常处理方法
查找系统日志里telegraf相关报错
centos系统:
#journalctl -u telegraf
#grep -ir 'telegraf' /var/log/*
Ubuntu系统:
#grep 'telegraf' /var/log/syslog
查找根目录下所有有关telegraf文件,一一查找有无遗留的配置文件
#find / -type f -name '*telegraf*'
如提示权限不够,仔细检查telegraf服务配置文件,检查是否改为root,linux目录常见如下:
/usr/lib/systemd/system/telegraf.service
/etc/systemd/system/telegraf.service
/lib/systemd/system/telegraf.service
/usr/local/etc/rc.d/telegraf