Skip to main content

Basic class used in PS environment

Project description

The ps (Production System) packages implementation started in 2013. Given a non staged production environment - hosted on different operating Systems all around the globe the implementations first goal was to consolidate the widely spread scripts and standalone Programs - started via cron - under one umbrella. At that time it was decided to implement that umbrella using python 2.4. The ps.basic package was created.

Back than the ps.basic requirements where:

  • establish the usage of templates for shell scripts and emails

  • establish a consistent way calling shell scripts and sending emails

  • establish a consistent way for local logging (with automatic logfile rotation/deletion)

  • establish a consistent way to handle configuration files

  • establish a consistent way to handle staged environments (TESTING/DEVELOPMENT/INTEGRATION/PRODUCTION)

In the next step it was decided to:

  • enhance the logging

    • additionally send the logging message to a network socket endpoint

    • enhance the logging message with version number, Product_id, ….

    • implement a program/package ps_bridge being able to receive those logging messages
      • to store those logging messages in an sqlite database (as delivered with the python standard distribution)

      • or/and route those logging messages to further destinations

    • implement a web server ps_herald to analyze the logging messages provided by the sqlite database on a node

    • implement a tool in that package ps_neelix to react on
      • logging messages e.g inform interested parties that something happened e.g using email via stage_specific configuration files (easily added to versioning control)

      • lost heartbeats of monitored services putting their logging messages in the sqlite database on a node

  • add a finite state machine environment to the ps.basic package

    • easing putting structure to the implementation

    • a graphical representation based on pygraphviz was added - generating the image from the implementation.

Those mechanisms where implemented compatible to python 2.4. Having a package major version numbers 0 e.g. 0.x.x and are used in daily production.

It allows for a staged development/production environment - combined with CI/CT … allowing to easily monitor the distributed services behaviour and configuration - as depicted in the following picture.

Jenkins_on_DEV_STAGES.png
Crucial points for the logging are:
  • the used network connections are setup using ssh where the setup of the connection is completely owned by the “mother company” - it is currently not in the scope of the project to further manage this

  • that the Version number of the service (beside module name , line number …) is automatically integrated into the logging message - serving Requirements for ITIL.

  • it is possible (and used in production) to (easily) extend existing applicacitions to use the (version based) logging mechanism.

Starting with the usage of python 3 the package was released to the public using a major version number 1 e.g. 1.x.x.

Documentation: https://psbasic.readthedocs.io

Git: https://bitbucket.org/drsetz/ps.basic/src/master/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ps.basic-1.2.19.tar.gz (41.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ps.basic-1.2.19-py3-none-any.whl (35.7 kB view details)

Uploaded Python 3

File details

Details for the file ps.basic-1.2.19.tar.gz.

File metadata

  • Download URL: ps.basic-1.2.19.tar.gz
  • Upload date:
  • Size: 41.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.4.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.0

File hashes

Hashes for ps.basic-1.2.19.tar.gz
Algorithm Hash digest
SHA256 fc6217da806197af0c846fabf8b4a54f2cbefca3b5ec30b096c628df0862967e
MD5 e66574c1449abc574b5b77cbfe69f904
BLAKE2b-256 c3f8ada43338167ac93fbaa113105e837ac392e77c06f7c89c0508324c8e11c5

See more details on using hashes here.

File details

Details for the file ps.basic-1.2.19-py3-none-any.whl.

File metadata

  • Download URL: ps.basic-1.2.19-py3-none-any.whl
  • Upload date:
  • Size: 35.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.4.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.0

File hashes

Hashes for ps.basic-1.2.19-py3-none-any.whl
Algorithm Hash digest
SHA256 4e231c126cb2c69eba46e3d74c9a13f7853cc1a6b8cfe3fcca2f598222acd2f2
MD5 1a47595d78d2fe484ea92f56cb29a3a4
BLAKE2b-256 1ce8923b8a922d8a2f021e9dadbe826b648934ca8ff5d5b58ade30c408fccb53

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page