tcollector
tcollector is a data collection agent for Linux. tcollector can be configured to send operating system and application metrics into ATSD for long-term retention and analytics.
Installation
Install Python
tcollector requires Python 2.5
and higher.
- Ubuntu 14.04/16.04
sudo apt-get install python
- CentOS 6.x/7.x and RHEL 6.x/7.x
sudo yum install python
Download tcollector
wget -O tcollector.tar.gz https://github.com/OpenTSDB/tcollector/archive/v1.3.2.tar.gz
mkdir tcollector
tar -xzf tcollector.tar.gz -C tcollector --strip-components=1
cd tcollector
Start tcollector
Manual Start
Start tcollector from the installation directory. Replace atsd_hostname
with the ATSD hostname or IP address.
sudo ./tcollector.py start --host atsd_hostname --port 8081
Auto-Start
Create tcollector.conf
file in the tcollector home directory.
ATSD_HOST=atsd_hostname
ATSD_PORT=8081
Replace atsd_hostname
with the ATSD hostname or IP address.
Ubuntu 14.04
Download the tcollector init script and copy it to the /etc/init.d/tcollector
path.
sudo curl https://raw.githubusercontent.com/axibase/atsd/master/integration/tcollector/resources/tcollector -o /etc/init.d/tcollector
Make the script executable.
sudo chmod u+x /etc/init.d/tcollector
Set TCOLLECTOR_HOME
variable to the tcollector home directory.
TCOLLECTOR_HOME=/home/axibase/tcollector
Enable auto-start for tcollector.
sudo update-rc.d tcollector defaults
Start tcollector.
sudo service tcollector start
CentOS 6.x and RHEL 6.x
Download the tcollector init script and copy it to the /etc/init.d/tcollector
path.
Set TCOLLECTOR_HOME
variable to tcollector home directory, for example
TCOLLECTOR_HOME=/home/axibase/tcollector
Make the script executable.
sudo chmod u+x /etc/init.d/tcollector
Enable auto-start for tcollector.
sudo chkconfig --add tcollector
Start tcollector.
sudo service tcollector start
Ubuntu 16.04, CentOS 7.x, RHEL 7.x
Download init script and place it into tcollector home directory, name it tcollector-wrapper
.
Make the script executable.
chmod +x tcollector-wrapper
Download service file for tcollector and copy it into /lib/systemd/system
directory.
Specify path to tcollector-wrapper
script. Example
ExecStart=/home/axibase/tcollector/tcollector-wrapper start
ExecStop=/home/axibase/tcollector/tcollector-wrapper stop
ExecReload=/home/axibase/tcollector/tcollector-wrapper restart
Enable auto-start.
sudo systemctl enable tcollector
Start tcollector.
sudo systemctl start tcollector
Auto-Start under Regular User
Add LOGFILE
and PIDFILE
options to tcollector.conf
.
LOGFILE=log_file_path
PIDFILE=pid_file_path
log_file_path
and pid_file_path
must be absolute paths to files in existing directory (or directories), where user has write access to.
Ubuntu 14.04, CentOS 6.x, RHEL 6.x
Add RUN_AS_USER
option to tcollector config.
RUN_AS_USER=user_name
Replace user_name
with user name.
Ubuntu 16.04, CentOS 7.x, RHEL 7.x
Add User
option to [Service]
section in /lib/systemd/system/tcollector.service
file.
[Service]
User=user_name
...
Replace user_name
with user name.
Logs
Logs are located at /var/log/tcollector.log
.
Entity Group and Portal
Entities collecting tcollector data are automatically grouped into the tcollector - linux
entity group.
Entity Group Expression:
properties('tcollector').size() > 0
A default portal is assigned to the tcollector entity group called: tcollector - Linux
.
View sample tcollector portal in Axibase Chart Lab.
List of tcollector metrics
df.bytes.free
df.bytes.percentused
df.bytes.total
df.bytes.used
df.inodes.free
df.inodes.percentused
df.inodes.total
df.inodes.used
iostat.disk.await
iostat.disk.ios_in_progress
iostat.disk.msec_read
iostat.disk.msec_total
iostat.disk.msec_weighted_total
iostat.disk.msec_write
iostat.disk.r_await
iostat.disk.read_merged
iostat.disk.read_requests
iostat.disk.read_sectors
iostat.disk.svctm
iostat.disk.util
iostat.disk.w_await
iostat.disk.write_merged
iostat.disk.write_requests
iostat.disk.write_sectors
iostat.part.ios_in_progress
iostat.part.msec_read
iostat.part.msec_total
iostat.part.msec_weighted_total
iostat.part.msec_write
iostat.part.read_merged
iostat.part.read_requests
iostat.part.read_sectors
iostat.part.write_merged
iostat.part.write_requests
iostat.part.write_sectors
net.sockstat.ipfragqueues
net.sockstat.memory
net.sockstat.num_orphans
net.sockstat.num_sockets
net.sockstat.num_timewait
net.sockstat.sockets_inuse
net.stat.tcp.abort
net.stat.tcp.abort.failed
net.stat.tcp.congestion.recovery
net.stat.tcp.delayedack
net.stat.tcp.failed_accept
net.stat.tcp.invalid_sack
net.stat.tcp.memory.pressure
net.stat.tcp.memory.prune
net.stat.tcp.packetloss.recovery
net.stat.tcp.receive.queue.full
net.stat.tcp.reording
net.stat.tcp.retransmit
net.stat.tcp.syncookies
net.stat.udp.datagrams
net.stat.udp.errors
sys.numa.allocation
sys.numa.foreign_allocs
sys.numa.interleave
sys.numa.zoneallocs
tcollector.collector.lines_invalid
tcollector.collector.lines_received
tcollector.collector.lines_sent
tcollector.reader.lines_collected
tcollector.reader.lines_dropped
proc.interrupts
proc.kernel.entropy_avail
proc.loadavg.15min
proc.loadavg.1min
proc.loadavg.5min
proc.loadavg.runnable
proc.loadavg.total_threads
proc.meminfo.active
proc.meminfo.anonhugepages
proc.meminfo.anonpages
proc.meminfo.bounce
proc.meminfo.buffers
proc.meminfo.cached
proc.meminfo.commitlimit
proc.meminfo.committed_as
proc.meminfo.directmap2m
proc.meminfo.directmap4k
proc.meminfo.dirty
proc.meminfo.hardwarecorrupted
proc.meminfo.hugepagesize
proc.meminfo.inactive
proc.meminfo.kernelstack
proc.meminfo.mapped
proc.meminfo.memfree
proc.meminfo.memtotal
proc.meminfo.mlocked
proc.meminfo.nfs_unstable
proc.meminfo.pagetables
proc.meminfo.shmem
proc.meminfo.slab
proc.meminfo.sreclaimable
proc.meminfo.sunreclaim
proc.meminfo.swapcached
proc.meminfo.swapfree
proc.meminfo.swaptotal
proc.meminfo.unevictable
proc.meminfo.vmallocchunk
proc.meminfo.vmalloctotal
proc.meminfo.vmallocused
proc.meminfo.writeback
proc.meminfo.writebacktmp
proc.net.bytes
proc.net.carrier.errs
proc.net.collisions
proc.net.compressed
proc.net.dropped
proc.net.errs
proc.net.fifo.errs
proc.net.frame.errs
proc.net.multicast
proc.net.packets
proc.net.tcp
proc.stat.cpu
proc.stat.cpu.percpu
proc.stat.ctxt
proc.stat.intr
proc.stat.processes
proc.stat.procs_blocked
proc.uptime.now
proc.uptime.total
proc.vmstat.pgfault
proc.vmstat.pgmajfault
proc.vmstat.pgpgin
proc.vmstat.pgpgout
proc.vmstat.pswpin
proc.vmstat.pswpout