Giter Club home page Giter Club logo

hana-os-healthchecker's Introduction

Main logic besides this tool:

  • Keep it easy to update as all input of data is via JSON files.
  • Not checking stuff that is already checked elsewhere (hwcct, saptune , ...).
  • Currently checks: OS, NTP, sysctl, packages, IBM productivity tools.
  • Open to check other things.

To use the tool, download it directly or via git with:

git clone https://github.com/IBM/hana-os-healthchecker

If you want to update to latest version via git:

cd hana-os-healthchecker

git pull

Enter the directory and run the tool with one parameter (XFS/ESS/NFS), if no parameter is passed it defaults to XFS:

cd hana-os-healthchecker

./hoh.py XFS

If you want to disable the deeper multipath check you must pass both XFS and --without-multipath

cd hana-os-healthchecker

./hoh.py XFS --without-multipath

NOTE: With deeper multipath check only one device entry is allowed inside devices part of the multipath file

At this point the tool starts

Welcome to HANA OS Healthchecker (HOH) version 1.14

Please use https://github.com/IBM/hana-os-healthchecker to get latest versions and report issues about HOH.

The purpose of HOH is to supplement the official tools like HWCCT not to substitute them, always refer to official documentation from IBM, SuSE/RedHat, and SAP

You should always check your system with latest version of HWCCT as explained on SAP note:1943937 - Hardware Configuration Check Tool - Central Note

JSON files versions:
        Supported OS:                           0.6
        sysctl:                                 1.3
        Packages:                               0.2
        IBM Power packages:                     0.4
        IBM Spectrum Virtualize multipath:      1.0

This software comes with absolutely no warranty of any kind. Use it at your own risk

Do you want to continue? (y/n):

You can the agree or disagree to run HOH

As example output of a SuSE system:

Checking OS version

OK:  SUSE Linux Enterprise Server 12 SP3 is a supported OS for this tool

Checking NTP status

OK: NTP is configured in this system
OK: Network time sync is activated in this system

Checking if saptune solution is set to HANA

The system fully conforms to the tuning guidelines of the specified SAP solution.
OK: saptune is using the solution HANA

The following individual SAP notes recommendations are available via sapnote
Consider enabling ALL of them, including 2161991 as only sets NOOP as I/O scheduler

All notes (+ denotes manually enabled notes, * denotes notes enabled by solutions):
*	1275776	Linux: Preparing SLES for SAP environments
*	1557506	Linux paging improvements
*	1984787	SUSE LINUX Enterprise Server 12: Installation notes
+	2161991	VMware vSphere (guest) configuration guidelines
*	2205917	SAP HANA DB: Recommended OS settings for SLES 12 / SLES for SAP Applications 12
	SAP_ASE	SAP_Adaptive_Server_Enterprise
	SAP_BOBJ	SAP_Business_OBJects
+	SUSE-GUIDE-01	SLES 12 OS Tuning & Optimization Guide – Part 1
+	SUSE-GUIDE-02	SLES 12: Network, CPU Tuning and Optimization – Part 2

Remember: if you wish to automatically activate the solution's tuning options after a reboot,you must instruct saptune to configure "tuned" daemon by running:
    saptune daemon start

Checking sysctl settings:

OK: net.core.rmem_max it is set to the recommended value of 56623104
OK: net.core.somaxconn it is set to the recommended value of 4096
OK: net.ipv4.tcp_mem it is set to the recommended value of 56623104 56623104 56623104
OK: net.ipv4.tcp_tw_reuse it is set to the recommended value of 1
OK: net.ipv4.tcp_timestamps it is set to the recommended value of 1
OK: net.ipv4.tcp_max_syn_backlog it is set to the recommended value of 8192
OK: net.ipv4.tcp_slow_start_after_idle it is set to the recommended value of 0
OK: net.ipv4.tcp_rmem it is set to the recommended value of 65536 262088 56623104
OK: net.ipv4.tcp_wmem it is set to the recommended value of 65536 262088 56623104
OK: net.core.wmem_max it is set to the recommended value of 56623104
OK: net.ipv4.tcp_syn_retries it is set to the recommended value of 8
OK: kernel.numa_balancing it is set to the recommended value of 0
OK: net.ipv4.tcp_tw_recycle it is set to the recommended value of 1

Checking packages install status:

OK: ipmitool installation status is as expected
OK: powerpc-utils installation status is as expected
OK: pseries-energy installation status is as expected
OK: ibmPMLinux installation status is as expected
OK: ppc64-diag installation status is as expected

Checking IBM service and productivity tools packages install status:

WARNING: ibm-power-baremetal-sles12 installation status is *NOT* as expected. Check that at least one package is installed
OK: ibm-power-managed-sles12 installation status is installed
WARNING: ibm-power-nonmanaged-sles12 installation status is *NOT* as expected. Check that at least one package is installed
OK: ibm-power-kvmguest-sles12 installation status is not installed


The summary of this run:

  SELinux reported no deviations
  time configurations reported no deviations
  saptune reported no deviations
  sysctl reported no deviations
  packages reported no deviations
  IBM service and productivity tools packages reported no deviations

As example output of a RedHat system:

OK:  Red Hat Enterprise Linux Server 7.4 is a supported OS for this tool

Checking SELinux status with sestatus

OK: SELinux is disabled in this system

Checking NTP status with timedatectl

OK: NTP is configured in this system
OK: NTP sync is activated in this system

Checking if tune-adm profile is set to sap-hana

OK: current active profile is sap-hana
OK: tuned is matching the active profile

Checking sysctl settings:

OK: net.core.rmem_max it is set to the recommended value of 56623104
OK: net.core.somaxconn it is set to the recommended value of 4096
OK: net.ipv4.tcp_mem it is set to the recommended value of 56623104 56623104 56623104
OK: net.ipv4.tcp_tw_reuse it is set to the recommended value of 1
OK: net.ipv4.tcp_timestamps it is set to the recommended value of 1
OK: net.ipv4.tcp_max_syn_backlog it is set to the recommended value of 8192
OK: net.ipv4.tcp_slow_start_after_idle it is set to the recommended value of 0
OK: net.ipv4.tcp_rmem it is set to the recommended value of 65536 262088 56623104
OK: net.ipv4.tcp_wmem it is set to the recommended value of 65536 262088 56623104
OK: net.core.wmem_max it is set to the recommended value of 56623104
OK: net.ipv4.tcp_syn_retries it is set to the recommended value of 8
OK: kernel.numa_balancing it is set to the recommended value of 0
OK: net.ipv4.tcp_tw_recycle it is set to the recommended value of 1

Checking packages install status:

OK: ipmitool installation status is as expected
OK: powerpc-utils installation status is as expected
OK: pseries-energy installation status is as expected
OK: ibmPMLinux installation status is as expected
OK: ppc64-diag installation status is as expected

Checking IBM service and productivity tools packages install status:

WARNING: ibm-power-nonmanaged-rhel7 installation status is *NOT* as expected. Check that at least one package is installed
WARNING: ibm-power-nonmanaged-sles12 installation status is *NOT* as expected. Check that at least one package is installed
OK: ibm-power-kvmguest-sles12 installation status is not installed
OK: ibm-power-managed-rhel7 installation status is installed
OK: ibm-power-kvmguest-rhel7 installation status is not installed
WARNING: ibm-power-baremetal-rhel7 installation status is *NOT* as expected. Check that at least one package is installed
WARNING: ibm-power-managed-sles12 installation status is *NOT* as expected. Check that at least one package is installed
WARNING: ibm-power-baremetal-sles12 installation status is *NOT* as expected. Check that at least one package is installed


The summary of this run:

	SELinux reported no deviations
	time configurations reported no deviations
	saptune/tuned reported no deviations
	sysctl reported no deviations
	packages reported no deviations
	IBM service and productivity tools packages reported no deviations

hana-os-healthchecker's People

Contributors

bolinches avatar cclauss avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hana-os-healthchecker's Issues

Make it python 3 runable as well as python2

Python 2 has a deadline. True that the "supported" OS have python 2 as the default version but we need to move to python 3 compatible code while still being able to run on python 2

Check entry on /etc/udev/rules.d/99-ibm-2145.rules

So far only check is that the file exists, we need to check that has

SUBSYSTEM=="block", ACTION=="add", ENV{ID_VENDOR}=="IBM",ENV{ID_MODEL}=="2145", RUN+="/bin/sh -c 'echo 120 >/sys/block/%k/device/timeout'"

Add a save to file option

Add an option to generate an output file with the output of the run in addition to show in on screen

Add SUSE 15 SP2 to the supported list

Hi

There is any verification that should be done to add SUSE 15 SP2 to the supported OS list?
I have a customer that would like to check it asap but currently it appears a as NOK in the supportedOS.json.
"SUSE Linux Enterprise Server 15 SP2": "NOK",
Is this because of any real difference of this OS version or because it has never been tested before?

Thanks in advance.

timedatectl status different output on SUSE

The timedatectl output is not printing 'NTP enabled: yes' .
Instead it is showing 'NTP synchronized: yes' on SLES 12 /15
Please include this.
Also the pyhton script is not returning anny rc code even if there are errors found.

~/hana-os-healthchecker-master # timedatectl status
Local time: Wed 2020-09-30 15:50:12 CEST
Universal time: Wed 2020-09-30 13:50:12 UTC
RTC time: Wed 2020-09-30 13:50:13
Time zone: Europe/Berlin (CEST, +0200)
Network time on: no
NTP synchronized: yes
RTC in local TZ: no

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.