Skip to content
sbengo edited this page Oct 15, 2018 · 3 revisions

Intro to pSeriesCollector

What is pSeriesCollector

pSeriesCollector is a collector for the IBM PSeries Virtualization Platform written in GO to send data to InfluxDB

Features

These are the features for the pSeriesCollector and the webui embedded tool

pSeries Agent Features

  • Retrieve PCM data from the HMCs
  • Retrieve NMON data for each SM and LPARs
  • SQLite/MySQL SQL based configuration
  • Retrieve a catalog from discovering process

WebUI Features

  • Complete configuration Interface for all objects
  • Online Runtime data viewer for all gathered metrics.
  • Online Configuration reload
  • Online device activation/deactivation , and log
  • REST API support
  • Configuration for Import and Export

Installation and Setup

Head to and download the latest release and Install the suitable package for your distribution

Debian RedHat Docker
deb - signature rpm - signature docker run -d --name=pseriescol_instance00 -p 80:8090 -v /mylocal/conf:/opt/pseriescollector/conf -v /mylocal/log:/opt/pseriescollector/log adejoux/pseriescollector

You can see a list of features and changes in the ChangeLog

Check an feel free to change any of the predefined parameters in the main configuration placed in /etc/pseriescollector/config.toml

############################
# General Config
############################

[general]
 #InstanceID will be a string identifiing the collector , It will be usefull when
 # more than one running on the same server, this ID will be shown in the WebUI.
 instanceID = "pseriescollector_PRO"
 #there are as many logs as devices configured and
 #logdir set the Directory path for each device individual log
 logdir = "./log"
 #NOTE: main process log is now sent to standar ouput
 # logLevel set de main process log level
 # valid values: panic,fatal,error,warn,info,debug
 logLevel = "debug"

 ############################
 # DataBase Config
 ############################

[database]
#type sets the sql backend
#valid values sqlite3,mysql
 type = "sqlite3"
# these parameters are only for mysql
# host = 127.0.0.1:3306
# user = "root"
# password = ""
# name sets the database name
 name = "pseriescollector"
#sqllogfile sets the name for a file in the log/ direcotry where sql backend will write all SQL transactions
 sqllogfile = "sql.log"
 # debug adds extra verbosity to the SQL log
 debug = true


############################
# Self Monitorig Config
############################
#config for sending self monitoring metrics to our default influx db
# Sent Measurements will be <prefix>.gvm with the following fields
# runtime_goroutines
# *mem.alloc
# *mem.mallocs
# *mem.frees
# *gc.total_pause_ns
# *memory.heap
# *gc.pause_per_second
# *gc.pause_per_interval
# *gc.gc_per_second
# *gc.gc_per_interval

[selfmon]
 #enable true/false enable/disable self monitoring
 enabled = true
 #send data Frequency
 freq = 60
 #prefix for measurement naming
 prefix = ""
 inheritdevicetags = true
 #adds extra tags to the measurement sent
 extratags = [ "instance=pseriescollector01" ]

############################
# Embedded WebServer Config
############################

[http]
 port   = 8090
 adminuser = "adm1"
 adminpassword = "adm1pass"
 cookieid = "my_instance_cookie"

After that and if you are using sqlite3 config backend you will be able to start an pseriescollector agent instance with a zero configuration (without devices or metric definitions). It you prefer MySQL you must setup the database first

MySQL Initial Setup

After mysql install you will have to create the database and configure user credentials over it you could use the following sql.

create database pseriescollector;
GRANT USAGE ON `pseriescollector`.* to 'pseriescoluser'@'localhost' identified by 'pseriescolpass';
GRANT ALL PRIVILEGES ON `pseriescollector`.* to 'pseriescoluser'@'localhost' with grant option;
flush privileges;

If you have any problems please open issue to the pSeriesCollector team

WebUI Navigation Features

WebUI access.

Login

Open the url http://your_pseriescollector_agent_host:8090/

login

You will be prompted to insert valid credentials.

Once logged you will see the main Runtime view with a list of devices and it's state.

pseriescollector has not yet support for different users with customized Access control , right now It has only one administrative user that can be customized into the [database] config.toml section with full access to all devices, configurations, runtime , console

Available components

Component Description
Influx Servers Add/edit/view InfluxDB servers to store data
HMC Servers Add/edit/view HMC servers t be queried
Devices Add/edit/view Devices you want to collect from

View

All components are listed with a table. The list view allows the user to add/modify/view/remove items stored on database.

  • Edit Button Edit Item: enters on modify view allowing to modify components parameters
  • Export Button Export Item: Allows the user export selected item.
  • View Button View Item: Allows the user to see all parameters of selected item
  • New Button New Item: Allows the user enter into parameters form to create a new component
  • Filter Input Filter: Allows the user filter all columns. Note: it accepts regex expressions
  • Remove Item Remove Item: Allows the user to remove selected item. When it is clicked it will show to the user elements that would be affected if the item is removed.
  • Enable Edit Enable Edit: Allows the user to select different items and remove or change properties of them.
  • Items per page Items per page: select the maximum items shown at same page

Runtime component

Component Description
Runtime View what the agent is collecting and change options on runtime

Data Management component

Component Description
Import Allows the user import data from file
Export Allows the user export data from different components