Successfully!

Error!

Health Inspection

  • Last update:  2023-09-22
  • Overview

    Version

    Report Server Version

    System O&M Plugin Version

    Functional Change

    11.0

    V1.0

    /

    11.0.3

    V1.0

    Added the function of one-click configuration of detection item values.

    11.0.7

    V1.3.1

    Added some health inspection contents.

    Allows users to generate and download inspection reports.

    Application Scenarios

    If the memory environment configuration is not reasonable, it is very easy to cause the report system to crash, which is difficult to reproduce and troubleshoot.

    Function Description

    FineReport 11.0 comes with the built-in System O&M plugin.

    Health Inspection can help you examine whether various configurations in the system are reasonable, optimizing environment settings and better preventing the occurrence of system crashes.

    • Users manually check or platform regularly check whether the report system environmental configurations are reasonable.

    • If system environment configurations are not reasonable, messages are pushed to you.

    • Health Inspection provides you with reasonable improvement guidance for system environment configurations.

     1.png

    This document introduces the inspection logic and inspection items of Health Inspection.

    System Inspection Items

    Only environment configuration inspections are supported in the System O&M plugin V1.3.1 and early versions.

    With the plugin V1.3.1 and later versions, you can inspect various items, including system inspection, system running status, port inspection, network inspection, service connectivity inspection, business inspection, environment inspection, disk inspection, non-containerized deployment inspection, and virtual machine inspection.

    Inspection Content

    Detection Item

    System inspection

    Only output information and no configuration recommendations.

    It includes the operating system information, glibc/gcc versions, hostname, the time zone information, CPU main frequency, core numbers, memory size, used memory size, free memory, swap partition, inspection date, root directory disk space, and the remaining root directory disk space.

    System running status

    • Plugin information: plugin name, plugin version, and plugin enabled or not

    • Registration authorization information: (project) registered or not

    • Container version

    • Abnormal situation of folder size in the project: size of each folder under the WEB-INF folder

    • Temporary output directory: directory path and remaining available space in the directory

    • Project startup path: directory path

    • Whether there is a web.xml file under the WEB-INF folder

    • Project JAR package information: versions of various modules in the project and JAR package dates

    Port inspection

    • Crash inspection port: port used by the automatic crash handling tool

    • Cluster port: ports of each node in the cluster

    • WebSocket port: WebSocket is mainly used to refresh tokens, check users being kicked out, display platform messages, memory and CPU, check the number of current system online users in the platform log, and determine data connection editing status.

    Network inspection

    Check if the communication between the file server, external database, status server, and applications is normal, if they can be pinged successfully, and if a packet loss occurs.

    Service connectivity inspection

    Check if there is connectivity between the project and Redis components, Sftp components, and FineDB databases.

    Business inspection

    • finedb: inspects finedb database types. You are advised to configure an external database.

    • Database encoding/character sets of external databases: inspects the database encoding/character set of the finedb external database.

    • Log level: You are advised to set the system log level to ERROR under System Management > Intelligent O&M > Platform Log > Global Setting.

    • Log cleanup: You are advised to enable Auto Cleanup and set Every 3 Months Clean Up Once under System Management > Intelligent O&M > Platform Log > Global Setting.

    • Automatic backup disk usage limit: You are advised to limit the disk size that automatic backups can occupy under System Management > Intelligent O&M > Backup & Restoration > Global Setting.

    • Automatic backup retention limit: You are advised to set the automatic backup retention limit to less than 5 records under System Management > Intelligent O&M > Backup & Restore > Global Setting.

    • Scheduled task cleanup configuration: You are advised to set File Process under Task Schedule to Clearing at the end of the task or Remaining only 1 times.

    • Template cell limit: You are advised to enable Template Cell Limit under System Management > Intelligent O&M > Load Management > Template Limit > General Limit.

    • Secondary cache status: You are advised to configure the system secondary cache.

    • Import Excel cell limit: You are advised to enable Import Excel Limit under System Management > Intelligent O&M > Load Management > Template Limit > General Limit.

    • Load alert status: You are advised to enable Intelligent Alert under System Management > Intelligent O&M > Load Management > Load Surveillance.

    • Dataset row limit: You are advised to enable Dataset Row Limit under System Management > Intelligent O&M > Load Management > Template Limit > General Limit.

    • SQL execution time limit: You are advised to enable Sql Execution Time under System Management > Intelligent O&M > Load Management > Template Limit > General Limit.

    • Cluster parameter configuration: You are advised to configure Internal Forwarding Parameter under System Management > Intelligent O&M > Cluster Configuration > Parameter Configuration.

    • Memory data row limit: You are advised to set Data Access Volume to less than 1000000 under System Management > System Setting > General > BI Parameter.

    • Quick analysis of cell limit: You are advised to set the value of the DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_unit parameter to less than 10000000.

    • Quick analysis of row limit: You are advised to set the value of the DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_row parameter to less than 10000000.

    • Quick analysis of cell update limit: You are advised to set the value of the DistributedOptimizationConfig.spiderConfig.spider_update_fast_compute_limit_cell parameter to less than 10000.

    • Quick analysis of memory size limit: You are advised to set the value of the DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_memory parameter to less than 500000000.

    • Spark calculation result memory size limit: You are advised to set the value of the DistributedOptimizationConfig.spiderConfig.spark_driver_maxResultSize parameter to less than 10000000.

    • Update resource with unlimited time period configuration: inspects the parameter of Update High Performance Time Interval under System Management > System Setting > General > Spider Parameter.

    Environment inspection

    • vm.max_map_count: You are advised to set the vm.max_map_count parameter to 262144.

    • Maximum number of open files: You are advised to set the open_files parameter to more than 65536.

    • overcommit_memory: You are advised to set the vm.overcommit_memory parameter to 0.

    • overcommit_ratio: You are advised to set the vm.overcommit_ratio parameter to 50.

    • gblic memory leak related configuration: You are advised to set export MALLOC_ARENA_MAX=1.

    Disk inspection

    Only output information and no configuration recommendations.

    It includes disk space, used disk space, free disk space, sequential read, sequential write, random read, small file creation, and small file deletion.

    Uncontainerized deployment

    Only output information and no configuration recommendations.

    It includes process user and server main folder permissions.

    Virtual machine inspection

    • Physical memory: outputs information only.

    • Heap memory: outputs information only.

    • Reading memory by the off-heap finelO: You are advised to set JVM finelO reading memory through off-heap memory to 2 GB.

    • Writing memory by the off-heap finelO: You are advised to set the JVM fineIO writing memory through the off-heap memory to 1 GB.

    • Headless mode: You are advised to configure -Djava.awt.headless=true to enable headless mode.

    • Dump export: You are advised to configure HeapDumpOnOutOfMemoryError and HeapDumpPath to ensure a normal dump export.

    • DisableExplicitGC parameter: You are advised not to configure the DisableExplicitGC parameter, which may disable System.gc(), reducing system stability.

    • JDK version: You are advised to use V1.8.0_181 or above in JDK8.

    • Stack space: You are advised to set the stack space used by the single-threaded applications to less than 1024 KB (namely, the value of -Xss less than 1024).

    • Garbage collector type: You are advised to set the garbage collector type of JVM to ParallelScavenge.

    • Old and young generation size ratio: You are advised to set the size ratio of old generation to young generation in the heap to 2 (namely, -XX:NewRatio=2).

    • recompilationCutoff parameter: You are advised to configure the recompilationCutoff related parameter value as -1.

    • Debug mode: You are advised to disable debug mode and delete two parameters -agentlib:jdwp and -Xrunjdwp.

    • Xms configuration: You are advised to set Xms=Xmx.

    • zip related configuration -Dsun.zip.disableMemoryMapping: You are advised to configure -Dsun.zip.disableMemoryMapping=true.

    • Language configuration -Duser.country: You are advised to configure -Duser.country=CN.

    • Language configuration -Duser.language: You are advised to configure -Duser.language=zh.

    • codecache configuration: You are advised to configure -XX:ReservedCodeCacheSize=250m.

    • Installation package deployment: outputs information only.

    • Stack information: outputs information only.

    The inspection items with identified issues are displayed on the page.

     2.png

    One-click Configuration

    From FineReport V11.0.3, you can configure the recommended health inspection values with one-click.

    Unsupported Environments

    For the following environments, the one-click configuration function is not supported:

    1. Non-Tomcat deployment environments, such as WAS deployment and WebLogic deployment

    2. Environments integrated with FineReport and FineBI

    3. Project systems with the self-set setenv file

    4. Tomcat projects started in service form

    5. Tomcat projects started by an exe in Windows

    6. The FineReport project in the designer environment

    7. Environments with a system physical memory of 16 GB or below

    8. Cluster project environments

    Configuration Method

    If the current project environment with the one-click configuration need meets the conditions for one-click configuration, Quick Fix appears in the top left corner of the Health Inspection page.

    Click Quick Fix, select the needed items, and click Application Configuration to configure the values of the abnormal items with one click. After successful configuration, a prompt appears saying The quick fix was successful and took effect after restarting the service.

    iconNote:

    1. The supported one-click inspection items are heap memory, off-heap NIO memory, off-heap FineIO memory, garbage collector type, ratio of old generation to young generation, and stack space.

    2. If there is no file read and write permission or no ability to modify the configuration file, a prompt pops up indicating that the application configuration failed because of no configuration file read and write permission. Click OK to return to the health inspection page.

     3.png

    Inspection Report

    After each health inspection, an inspection report is generated. You can download the report to the local device or preview it online.

     4.png

    The report includes all the above inspection items, as shown in the following figure.

     5.png

    Triggering Inspection

    Manual Inspection

    After the system restarts, it retrieves the system's configurations every hour.

    When conducting the first health inspection, you need to click Start Inspection. The system automatically performs the inspection, obtains the most recent system configuration, and updates the inspection results.

     6.png

    When conducting the health check again, you need to click Re-diagnosis. The system automatically performs the check, retrieves the latest system configuration, and updates the check results.

     7.png

    Automatic Inspection

    On the health inspection processing page, the admin can enable System auto check and click Save.

    After the function is enabled, the system automatically performs an inspection at 11 AM every Sunday. If there are any unreasonable configurations, the admin can be notified through SMS, platform message, and email.

     8.png

    iconNote:

    1. SMS reminder: SMS platform needs to be enabled. For details, see SMS Service.

    2. Email reminder: Email server needs to be configured. For details, see Email Service.

    3. Platform message: WebSocket port needs to be configured and opened at the load balancing level.

    Operation and Maintenance Tool

    O&M Interface Key is the interface key bound to the current project in the O&M Platform.

     9.png

    Notes

    Quick Fix of Exceptions

    Problem:

    You modify the Tomcat memory through the Quick Fix function. But Tomcat crashes and no Tomcat process appears when you start the project with the command ./startup.sh.

    Cause:

    Insufficient system memory

    Solution:

    Delete the setenv.sh file (a configuration file generated in the quick fix) under the path %TOMCAT_HOME%/bin.

    This combination of host and port requires TLS

    Problem:

    All health inspections failed.

    Trigger inspections and open log with info level. An error occurs: This combination of host and port requires TLS.

    Cause:

    HTTPS is not configured properly in the port.

    Solution:

    In the fine_conf_entity table of finedb, add a new field ClusterNodeConfig.useHttps with the field value as true.


    Attachment List


    Theme: Decision-making Platform
    Already the First
    Already the Last
    • Helpful
    • Not helpful
    • Only read

    Doc Feedback