Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ossobv/gocollect
Data collector using go, periodically posts json to a REST api
https://github.com/ossobv/gocollect
auditing monitoring-stack
Last synced: about 2 months ago
JSON representation
Data collector using go, periodically posts json to a REST api
- Host: GitHub
- URL: https://github.com/ossobv/gocollect
- Owner: ossobv
- License: gpl-3.0
- Created: 2016-03-29T09:20:06.000Z (almost 9 years ago)
- Default Branch: develop
- Last Pushed: 2024-06-13T11:41:19.000Z (7 months ago)
- Last Synced: 2024-06-20T02:12:03.342Z (7 months ago)
- Topics: auditing, monitoring-stack
- Language: Shell
- Size: 502 KB
- Stars: 6
- Watchers: 4
- Forks: 1
- Open Issues: 15
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGES.rst
- License: LICENSE
Awesome Lists containing this project
README
|GoCollect|
===========|goreportcard|
GoCollect collects various pieces of system info and publishes them to a
central server.The intent of GoCollect is to create a map of your servers with slow and
never changing data items. Where you may use Zabbix for semi-realtime
monitoring of integer values like current CPU usage, *you use GoCollect
to collect values like hard drive serial numbers, IPMI IP-addresses and
versions of installed OS packages.*Installing
----------::
make && make install
cp /etc/gocollect.conf.sample /etc/gocollect.conf
# edit /etc/gocollect.conf
# then start/restart gocollect using your favorite init methodYou may need to set up a go path first::
mkdir -p ~/go
export GOPATH=~/goAnd check this out inside that::
git clone https://github.com/ossobv/gocollect \
$GOPATH/src/github.com/ossobv/gocollectAnd install prerequisites::
go get github.com/ossobv/go-getopt
Possibly set env to old style module handling::
# go.mod file not found in current directory or any parent directory...
go env -w GO111MODULE=off # sets ~/.config/go/env: GO111MODULE=offPackaging for Debian
--------------------Prerequisites:
.. code-block:: console
$ sudo apt-get install git-buildpackage dh-make dh-systemd
Optional:
.. code-block:: console
$ cat > .git/gbp.conf << EOF
[DEFAULT]
upstream-branch=main
debian-branch=debian[buildpackage]
upstream-tag = v%(version)s
EOFRunning:
.. code-block:: console
$ git checkout debian
$ gbp buildpackage -sa \
--git-debian-branch=debian --git-upstream-tag='v%(version)s'Note that release candidate versions must be tagged as ``v1.2_rc3``.
gbp-buildpackage rewrites the underscore to a debian-style tilde.
Pre-release development versions shall be called ``v1.3_dev`` which
sorts before ``v1.3_rc1``, which in turn sorts before ``v1.3``.Packaging a tarball
-------------------To to create a tarball with the latest version, including a config file,
do this:.. code-block:: console
$ cd gocollect-client
$ TGZ_CONFIG=/path/to/gocollect.conf make tgz
...
Created: gocollect-v0.4~rc6+1.g83d4-md5conf-c0f48c3.tar.gzYou can then extract and run that archive on the target machine like
this:.. code-block:: console
$ cat gocollect-v0.4~rc6+1.g83d4-md5conf-c0f48c3.tar.gz | sudo tar -xzvC /
$ sudo /etc/init.d/gocollect startYou may need to install additional dependencies first to get all
collectors to work properly. For example ``smartmontools`` or
``ipmitool``.Golang notes to self
--------------------- https://golang.org/doc/code.html
- http://openmymind.net/
- https://jamescun.com/golang/binary-size/License
-------The source code is licensed according to the GNU GPLv3+;
see `LICENSE
`_.The artwork |--| the GoCollect logo |--| is licensed according to the
*Attribution-NonCommercial-ShareAlike 4.0 International* Creative Commons
license (CC BY-NC-SA 4.0);
see `LICENSE.CC.BY-NC-SA.4-0.txt
`_... |GoCollect| image:: https://raw.githubusercontent.com/ossobv/gocollect/main/gocollect.png
:alt: GoCollect
.. |goreportcard| image:: https://goreportcard.com/badge/github.com/ossobv/gocollect
:target: https://goreportcard.com/report/github.com/ossobv/gocollect
.. |--| unicode:: U+2013 .. en dash