Skip to main content

ssm-doctor

Diagnose why an EC2 instance is not reachable via AWS Systems Manager (SSM).

Install

pip install ssm-doctor

From source:

pip install -e .

60-second demo

# Text report (exit 0 if PingStatus is Online, else 1)
ssm-doctor i-0123456789abcdef0 --profile myprofile --region us-east-1

# Machine-readable output
ssm-doctor i-0123456789abcdef0 --json --region us-east-1

Example output:

ssm-doctor: i-0123456789abcdef0
  [PASS] ec2_state: Instance state is 'running'.
           state=running
           vpc_id=vpc-abc
           subnet_id=subnet-xyz
  [PASS] iam_instance_profile: IAM instance profile is attached.
  [PASS] ssm_ping: SSM PingStatus is 'Online'.
           ping_status=Online
           agent_version=3.2.0
Next steps: none — instance appears reachable via SSM.
Result: REACHABLE (Online)

What it checks

Read-only boto3 calls (graceful errors if permissions are missing):

Check Source
Instance state, VPC, subnet ec2:DescribeInstances
IAM instance profile present ec2:DescribeInstances
SSM registration / PingStatus / AgentVersion / LastPingDateTime ssm:DescribeInstanceInformation

Publishing to PyPI

pip install build twine
python -m build
twine upload dist/*

Or push a v* tag; GitHub Actions can publish via trusted publishing (see .github/workflows/publish.yml).

License

MIT

Release files for ssm-doctor 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ssm-doctor 0.1.0
File Size Uploaded
ssm_doctor-0.1.0.tar.gz 6.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ssm-doctor 0.1.0
File Interpreter ABI Platform
ssm_doctor-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 12.8 kB

Release files / ssm_doctor-0.1.0.tar.gz

Download URL ssm_doctor-0.1.0.tar.gz
Size 6.3 kB
Tags Source
SHA-256 checksum
How to use checksums
a61c0a6f64440a703889f0fe4fd6a78c4831a812afff1274dee599291d75b138
BLAKE2b-256 checksum
How to use checksums
d00d58d1814980b5e1842a85a0d4bebbdce15de940a79c3aec35578760aac721
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / ssm_doctor-0.1.0-py3-none-any.whl

Download URL ssm_doctor-0.1.0-py3-none-any.whl
Size 6.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5df04d1ace6ca90921aba2c13815c598b86b115bb3715ecf5532b5b101fa3bb3
BLAKE2b-256 checksum
How to use checksums
f442492a98a83ddea11b94f455626027a7179bde7b6299d08cb2d846d29a4587
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page