log-agent

command module
v0.0.0-...-630b3dd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 8, 2021 License: Apache-2.0 Imports: 11 Imported by: 0

README

LogSync

查询日志信息

  • 注意事项,注册为服务执行 tasklist 会报错用户名或密码错误
注册/卸载服务/启动/停止/重启
LogSync.exe -action version 查看版本号

配置
  • 见 config.example.yaml
手动执行(已去除)

http://localhost:8001/sync_log?sync_log=1 // 通讯录,设备 http://localhost:8001/sync_device_log?sync_log=1 // 设备日志

问题
运行一段时间后报错bind: An operation on a socket could not be performed because the system lacked sufficient buffer sp

上网搜查后确定问题源:代码连接端口的频次超出windows默认最大值

当然其中牵扯最大连接数量,起始中止端口号,释放连接资源时间(windows10默认120s)
 日志超时15分钟,主动查询设备信息逻辑耗时较多

3.程序以服务形式运行,执行 tasklist 命令提示账号密码错误

 windows系统下,程序以服务形式运行,执行 tasklist 命令提示账号密码错误,直接运行程序能够正常执行。
 经过测试后发现,需要在服务注冊后设置登录账号和密码,才能正常执行 tasklist pscp 等命令。

 更新应用后需要设置账号密码,(容易忘记)

 同时,tasklist 等命令返回的错误信息编码为 gbk 需要转码才能显示

4.warning: remote host tried to write to a file called '2021-02-26' when we requested a file called ''. If this is a wildcard, consider upgrading to SSH-2 or using the '-unsafe' option. Renaming of this file has been disallowed.

 ssh-1 版本情况下复制多个文件的时候会提示警告,需要增加 -unsafe 选项解决。或者升级为 ssh-2 版本。
热重启
  • 暂时无法热重启,推荐方案endless,grace;都是用于http 服务热更新。
  • 热重启无法自动设置 windows 账号密码。
  • 可选方案:下载 update.exe 文件并执行,然后由 update.exe 完成程序更新(停止-删除文件-下载文件-启动)。
编译

-w 忽略DWARFv3调试信息,使用该选项后将无法使用gdb进行调试。 -s 忽略符号表和调试信息。

go build -ldflags "-w -s -X main.Version=v1.9"  -o ./cmd/LogSync.exe main.go

GOOS=windows GOARCH=amd64 CC=/usr/local/bin/x86_64-w64-mingw32-gcc CXX=/usr/local/bin/x86_64-w64-mingw32-g+ go build -ldflags " -w -s -X main.Version=v2.27"   -o ./cmd/LogSync.exe
模拟日志
  • del 删除日志文件
  • device 设备日志时间和服务器时间不一致
  • plugin 插件故障
  • real 正常
go run ./mocklog/main.go ./mocklog/path.go ./mocklog/fault.go  -action del
device 设备获取 sql
select ct_loc.loc_desc as loc_desc,pac_room.room_desc as room_desc, pac_bed.bed_code as bed_code, dev_id ,dev_code ,dev_desc ,dev_position ,dev_type,dev_active,dev_status,dev_create_time,mm.ipaddr as dev_ip from cf_device left join mqtt.mqtt_device as mm on mm.username = cf_device.dev_code left join ct_loc on ct_loc.loc_id = cf_device.ct_loc_id left join pac_room on pac_room.room_id = cf_device.pac_room_id left join pac_bed on pac_bed.bed_id = cf_device.pac_bed_id where cf_device.dev_active = '1'
fvr grpc
protoc   --go_out=./ .\grpc\fvr\fvr.proto
版本更新
  • v0.0.1 第一版本
  • v0.0.2 修改 ping 方法,使用 github.com/go-ping/ping
  • v0.0.3 优化ping 方法
  • v0.0.4 增加端口监控,端口、服务、接口监控增加故障类型字段
  • v0.0.5 增加freeswitch,redis 服务监控

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
grpc
fvr

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL