Skip to content

SK-EID/public-monitoring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 

Repository files navigation

SK ID Solutions AS Public Monitoring and Statistics Interface Specification


NOTICE:

Since DigiDocService is discontinued as of 01.10.2020 and most e-service providers have migrated to using the MID-REST API the older monitoring public monitoring output of https://status.sk.ee/v1/sk-dds-mid.json no longer reflects relevant information. Please refer to https://status.sk.ee/v1/mid-rest_live.json for up-to-date stats.


SK's Public Monitoring and Statistics Interface is provided "AS IS", without warranty of any kind


Version Date Author Notes
1.0.1 31.03.2014 Alvar Nõmmik First version of the document.
1.0.2 02.04.2014 Alvar Nõmmik Added description of monitoring logic, minor fixes
1.0.3 11.07.2014 Alvar Nõmmik Added check_rc_getmnoid to Bite and Tele2 LT Added check_dds2_mssp_bite_rc to BiteExplanations about hard/softstate
1.0.4 29.07.2014 Alvar Nõmmik Added information about SK OCSP check, minor fixes
1.0.5 09.10.2014 Alvar Nõmmik, Urmo Keskel Monitoring logic changes see p .1.2, new state UNKNOWN added Change of plugin output pattern, new format "Failure rate zz%, Failed xx of yy"Updated the sample of json and XML output
1.0.7 02.04.2015 Alvar Nõmmik Added check for SMSC status (Tele2EE and EMT) - check_*_smscExamples updated and added CRITICAL scenario
1.0.8 05.06.2017 Alvar Nõmmik check_dds2_mssp_elisa (Legacy Elisa mssp check) - removedcheck_rc_getmnoid – removedomnitel_sk business process - removedMinor fixes in wording check_*_smsc – check described
1.0.9 24.04.2018 Kristjan Koskor Converted to .md format.
Published on github.
Minor formatting fixes
1.0.10 26.04.2018 Kristjan Koskor Added LT-SK business process identifiers for Telia, Tele2 and Bite.
1.0.11 26.04.2018 Alvar Nõmmik Documentation formatting changed
1.0.12 07.05.2018 Kristjan Koskor Added Smart-ID description of Smart-ID monitoring
1.0.13 06.07.2018 Kristjan Koskor Removed business process identifiers for bite and omnitel_rc.
1.0.14 30.07.2018 Kristjan Koskor Added TSA specifications. Adjusted monitoring logic parameters mobile-ID.
1.0.15 06.11.2018 Kalle Keskrand Added Trust Services specifications.
1.0.16 06.11.2018 Kristjan Koskor Added general statistics interface specification
1.0.17 07.11.2018 Kristjan Koskor Added OCSP services
1.0.18 03.04.2019 Kristjan Koskor Updated Business process subcomponents. Link status info is temporarily unavailable.
1.0.19 16.05.2019 Kristjan Koskor Added json_created to outputs where it was still missing.
1.0.20 16.05.2019 Kristjan Koskor Updated json output url path to status.sk.ee/* .
1.0.21 21.05.2019 Kristjan Koskor Add MID REST
1.0.22 09.10.2019 Kristjan Koskor Update info about tele2lt. Fixed some typos
1.0.23 28.01.2020 Kristjan Koskor Add 'activeMID_LT' data object
1.0.24 28.01.2020 Kristjan Koskor Add sk-dds-mid.json file. Remove depricated Mobile-ID monitoring
1.0.24 30.04.2020 Kristjan Koskor Changed Smart-ID monitoring specification
1.0.25 10.09.2020 Kristjan Koskor Changed MID-REST monitoring is out of beta specification
1.0.26 09.07.2021 Kristjan Koskor Changed 'cards.json' URL
1.0.27 16.11.2021 Jevgeni Losak Added Time Stamping Authority
1.0.28 14.03.2022 Kristjan Koskor Removed references to depricated DigiDocService; Moved MID-REST info from point 11. to point 1.
1.0.29 02.06.2023 Jevgeni Losak Removed ocsp_proxy and ocsp_proxy_detail from the list
1.0.30 17.05.2024 Jevgeni Losak Added ocsp-ca and ocsp-aia-ca

Table of Contents

List of interfaces:

Identifier Description
mobile-id Combined Mobile-ID service monitoring for all Mobile network operators
smart Smart-ID Authentication and Signing transactions
tsa Time-Stamping Authority statistics
ocsp OCSP Statistics
ocsp_aia AIA OCSP Statistics

1. Mobile-ID

Location: https://status.sk.ee/v1/mid-rest_live.json
Data is refreshed every 5 minutes.
The results for full 15 minutes, 2 minutes from now(), are counted. (earliest=-17m@m latest=-2m@m)

1.1 Structure

Key Type Description Possible values
Status str General status of the service "OK" = Failrate is lower than 10%
"WARNING" = Failrate is greater than 11%
"CRITICAL" = Failrate is greater than 50%
"UNKNOWN = There are less than 100 Total requests"
Failrate int Failure rate percentage of total requests 0-100
Failed int Number of failed requests "USER_CANCELLED" - User cancelled the operation
"DELIVERY_ERROR" - error sending SMS
"NOT_MID_CLIENT" - Given user has no active certificates and is not Mobile-ID client
"PHONE_ABSENT" - SIM not available
"TIMEOUT" - There was a timeout, i.e. end user did not confirm or refuse the operation within a given time
"OK" - everything went fine
"SIGNATURE_HASH_MISMATCH" - Mobile-ID configuration on user's SIM card differs from what is configured on service provider's side. (User needs to contact his/her mobile operator.)
"null" - may be displayed in rare cases but technically counts as a timeout.
json_created date/time Date and time when the output was generated "mm/dd/yyy hh:mm:ss"
Operator str Name of Mobile Network Operator "BITE-SK-LT"
"ELISA-SK-EE"
"EMT-SK-EE"
"TELE2-SK-EE"
"TELEDEMA-LT"
"TELIA-SK-LT"
Total int Total number of Mobile-ID requests for a given Operator ""

1.2 Example json output

[
  {
    "Status": "OK", 
    "Failrate": "7.61", 
    "Failed": "21", 
    "json_created": "09/10/2020 12:30:19", 
    "Operator": "'BITE-SK-LT'", 
    "Total": "276"
  }, 
  {
    "Status": "OK", 
    "Failrate": "2.65", 
    "Failed": "22", 
    "json_created": "09/10/2020 12:30:19", 
    "Operator": "'ELISA-SK-EE'", 
    "Total": "831"
  }, 
  {
    "Status": "OK", 
    "Failrate": "2.78", 
    "Failed": "37", 
    "json_created": "09/10/2020 12:30:19", 
    "Operator": "'EMT-SK-EE'", 
    "Total": "1331"
  }, 
  {
    "Status": "OK", 
    "Failrate": "6.44", 
    "Failed": "30", 
    "json_created": "09/10/2020 12:30:19", 
    "Operator": "'TELE2-SK-EE'", 
    "Total": "466"
  }, 
  {
    "Status": "OK", 
    "Failrate": "4.08", 
    "Failed": "23", 
    "json_created": "09/10/2020 12:30:19", 
    "Operator": "'TELE2-SK-LT'", 
    "Total": "564"
  }, 
  {
    "Status": "UNKNOWN", 
    "Failrate": "12.50", 
    "Failed": "1", 
    "json_created": "09/10/2020 12:30:19", 
    "Operator": "'TELEDEMA-LT'", 
    "Total": "8"
  }, 
  {
    "Status": "OK", 
    "Failrate": "3.64", 
    "Failed": "16", 
    "json_created": "09/10/2020 12:30:19", 
    "Operator": "'TELIA-SK-LT'", 
    "Total": "440"
  }
]

2. Smart-ID

Smart-ID will switch to the described format on Monday, 04.05.2020

We'll be changing the methodology behind Smart-ID public monitoring. We now account for requests sooner in the service pipeline and also consider more failure states.

Transactions are considered as succesful if completed as expected OR where the user refused the transaction on their app OR when a user entered the wrong verification code. This will also highlight potential issues with the service in more contrast. Due to this, you can expect a change in the failure rate numbers of the ouput. But Don't worry, the service itself has not been changed and is operating just as before.

2.1 Structure

Key Type Description
Status str State of service:
"OK" = failrate is lower than 20%
"WARN" = failrate is greater than 15%
"CRITICAL" = failrate is greater than 75%
Use str Use case ("Authentication" or "Signing")
Started int Number of started request for a particular use case
Failrate float Percentage of failed transactions of the total number of transactions of particular use case
Finished int Number of successfully finished transactions of a particular use case
including user timeouts, PIN validation issues or clone detection.
All other results are considered as failed requests.
json_created date/time Date and time when the output was generated

2.2. Example json output

  [
  {
    "Status": "OK",
    "Use": "Authentication",
    "Started": "10125",
    "Failrate": "6.7",
    "Finished": "9444",
    "json_created": "04/30/2020 14:19:13"
  },
  {
    "Status": "OK",
    "Use": "Signing",
    "Started": "3631",
    "Failrate": "1.9",
    "Finished": "3563",
    "json_created": "04/30/2020 14:19:13"
  }
]

3. Time Stamping Authority Stats

SK’s Time-Stamping Authority public monitoring interface is mainly useful for statistical purposes. It displays the number of requests to the TSA in the past 5 minutes, the time of the latest successful response and the average response time of the TSA. The statistics are updated every 5 minutes.

3.1 Structure

Key Type Description
req_in_5min int Number of request in the past 5 minutes.
latest_OK datetime Date and time of the latest succesful response (at the time of json generation)
avg_response_ms float Average response time over the past 5 minutes.
json_created date/time Date and time when the output was generated

3.2. Example json output

[
  {
    "req_in_5min": "1214", 
    "latest_OK": "10/30/2018 14:50:02", 
    "avg_response_ms": "45.3",
    "json_created": "05/16/2019 15:55:11"
  }
]

4. Time Stamping Authority Status

SK’s Time-Stamping Authority public monitoring interface is useful for statistical purposes and for service status check. It displays the number of successful requests to the TSA in the past 5 minutes, the time of the latest successful response and the average response time of the TSA. The statistics are updated every 5 minutes.

4.1 Structure

Key Type Description
Status str General status of the service
req_in_5min int Number of request in the past 5 minutes.
OK_count int Number of successful request in the past 5 minutes.
latest_OK datetime Date and time of the latest succesful response (at the time of json generation)
avg_response_ms float Average response time over the past 5 minutes.
json_created date/time Date and time when the output was generated

4.2 Example json output

[
  {
    "status": "OK", 
    "OK_count": "7402", 
    "avg_response_ms": "39.7", 
    "json_created": "11/16/2021 10:10:53", 
    "req_in_5min": "6926", 
    "latest_OK": "11/16/2021 10:10:51"
  }
]

5. Trust Services

The public monitoring of trust services interface provides JSON based information about availability of Mobile-ID and Smart-ID issuance services and CRL validity of critical CAs.
Interface generates ".json" file, using Zabbix API. Generating interval is 10 min.
Location of json file: https://status.sk.ee/v1/trust_srv.json
Location of test json file: https://status.sk.ee/v1/trust_srv_test.json

5.1 Structure

Key Type Description
status str Status can be "OK" or "DOWN".
This indicator contains different servers and components according to the current service. Status is "OK" when all necessary servers are up and running and critical services respond for test queries.
valid_hours int Key for CLR-s. Shows number of hours while CRL is valid.
CRL Monitor of CRL validity for next CAs:
EECCRCA - root CA, validity 3 months;
EID2011, ESTEID2011, ESTEID2015, KLASS3-2010 - validity 12 hours
MobileIDIssuance Status of Mobile-ID issuance service.
Smart-IDIssuanceOnline Status of Smart-ID online issuance service.
Smart-IDIssuanceRA Status of Smart-ID issuance service for bank offices.
SmartIDs_issued_in_last_60_min Shows the number of Smart-IDs issued in last 60 min.
issued int Number of issued Smart-IDs.
last_issuance datetime Time of last Smart-ID issuance.
json_created datetime Time of creation for current json.
NB! This json cannot be older than 10 min, otherwise monitor itself is down.

5.2 Example json output

{
    "CRL": {
        "EECCRCA": {
            "status": "OK",
            "valid_hours": "482"
        },
        "EID2011": {
            "status": "OK",
            "valid_hours": "11"
        },
        "ESTEID2011": {
            "status": "OK",
            "valid_hours": "8"
        },
        "ESTEID2015": {
            "status": "OK",
            "valid_hours": "11"
        },
        "KLASS3-2010": {
            "status": "OK",
            "valid_hours": "7"
        },
        "status": "OK"
    },
    "MobileIDIssuance": {
        "status": "OK"
    },
    "Smart-IDIssuanceOnline": {
        "status": "OK"
    },
    "Smart-IDIssuanceRA": {
        "status": "OK"
    },
    "SmartIDs_issued_in_last_60_min": {
        "info": {
            "issued": "614",
            "last_issuance": "2018-11-02 11:07:14"
        }
    },
    "json_created": "2018-11-02 11:10:02"
}

6. General statistics interface

Where ever needed, you can use these numbers to illustrate your presentations, analyses, website. Data is available at https://status.sk.ee/v1/cards.json Data is generated once a day and includes the data until 23:59 for the previous day.

6.1 Descriptions of data objects

Key Description
activeSID_LV Number of active Smart-ID unique users in Latvia
last_month Number of validity confirmations provided for certificates issued by SK through ocsp.sk.ee service for previous calendar month.
yesterday_SID Number of Smart-ID transactions during a day before data was generated
activeIDCards Number of active Estonian ID-cards
Signatures Number of validity confirmations provided for signing certificates issued by SK through ocsp.sk.ee service for the period from 2002 until the day before data was generated. This number must not be interpreted as signatures.
Authentications Number of validity confirmations provided for authentication certificates issued by SK through ocsp.sk.ee service for the period from 2002 until the day before data was generated. This number must not be interpreted as authentications.
Yesterday Number of validity confirmations provided for certificates issued by SK through ocsp.sk.ee service during a day before data was generated.
activeMID Number of active Mobile-ID unique users in Estonia
activeMID_LT Number of active Mobile-ID unique users in Lithuania
last_month_SID Number of Smart-ID transactions during previous calendar month
activeSID_EE Number of active Smart-ID unique users in Estonia
activeSID Number of active Smart-ID unique users in total (over all countries)
activeSID_LT Number of active Smart-ID unique users in Lithuania
reportExecuted Date and time when data was generated

7. OCSP

7.1 Structure

Key Type Description
req_in_5min int Number of requests in the past 5 minutes
latest_OK datetime Date and time of the last RFC2560 'good' response
avg_response_ms float Avaerage response time in the past 5 minutes
json_created date/time Date and time when the output was generated

7.2 Example json output

[
  {
    "req_in_5min": "4687",
    "latest_OK": "11/07/2018 20:38:00.143624",
    "avg_response_ms": "6.8",
     "json_created": "05/16/2019 15:55:11"
  }
]

8. AIA OCSP

8.1 Structure

Key Type Description
req_in_5min int Number of requests in the past 5 minutes
latest_OK datetime Date and time of the last RFC2560 'good' response
avg_response_ms float Avaerage response time in the past 5 minutes
json_created date/time Date and time when the output was generated

8.2 Example json output

[
  {
    "req_in_5min": "953",
    "latest_OK": "11/07/2018 20:39:00.015364",
    "avg_response_ms": "5.7",
     "json_created": "05/16/2019 15:55:11"
  }
]

9. OCSP CA

9.1 Structure

Key Type Description
req_in_5min int Number of requests in the past 5 minutes
latest_OK datetime Date and time of the last RFC2560 'good' response
CN: str common name of responder
avg_response_ms float Avaerage response time in the past 5 minutes
json_created date/time Date and time when the output was generated

9.2 Example json output

[
  {
    "req_in_5min": "285", 
    "latest_OK": "05/17/2024 14:42:26.445", 
    "CN": "ESTEID2015", 
    "avg_response_ms": "4.4", 
    "json_created": "05/17/2024 14:45:31"
  }
]

10. OCSP AIA CA

10.1 Structure

Key Type Description
profile str name of responder
req_in_5min int Number of requests in the past 5 minutes
latest_OK datetime Date and time of the last RFC2560 'good' response
avg_response_ms float Avaerage response time in the past 5 minutes
json_created date/time Date and time when the output was generated

10.2 Example json output

[
  {
    "profile": "EID-NQ-16", 
    "req_in_5min": "242", 
    "latest_OK": "05/17/2024 14:41:36.083629", 
    "avg_response_ms": "1.0", 
    "json_created": "05/17/2024 14:45:37"
  }
]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •