ops0ops0

Audit Logs

Track all activity in your ops0 organization. Audit logs provide a complete record of who did what and when.

ops0 Audit Logs showing activity history with timestamps and actions

Accessing Audit Logs

Go to Settings

Navigate to the Settings section.

Select Audit Logs

Click on Audit Logs in the sidebar navigation.


Page Layout


Log Entry Columns

ColumnDescription
TimestampWhen event occurred
UserWho performed action
ActionWhat was done
ResourceWhat was affected
IP AddressUser's IP
StatusSuccess, Failed

Viewing Log Entries

Log List

Each row shows:

┌────────────────────────────────────────────────────────────────────┐
│ 2024-01-15 10:30:45  john@example.com  deployed  vpc-production   │
│ Action: terraform apply                                            │
│ IP: 192.168.1.100  Status: Success                                │
└────────────────────────────────────────────────────────────────────┘

Click for Details

Select Entry

Click on any log entry in the table.

View Details

The detail panel opens on the right.

Analyze

Review full event information including changes and request data.

Entry Details

FieldDescription
Event IDUnique identifier
TimestampExact time (with timezone)
UserEmail and user ID
ActionEvent type
ResourceResource type and ID
ChangesWhat changed
RequestAPI request details
ResponseAPI response
IP AddressSource IP
User AgentBrowser/client

Event Categories

Authentication Events

User Management Events

EventDescription
user.invitedUser invitation sent
user.joinedUser accepted invite
user.removedUser removed from org
user.role_changedRole assignment changed
user.disabledUser account disabled

Project Events

EventDescription
project.createdNew project created
project.updatedProject modified
project.deletedProject deleted
project.file_createdFile added
project.file_updatedFile modified
project.file_deletedFile removed

Deployment Events

deployment.started
Deployment began
deployment.completed
Deployment finished
deployment.failed
Deployment failed
deployment.cancelled
Deployment stopped
deployment.approved
Approval granted
deployment.rejected
Approval denied

Integration Events

EventDescription
integration.createdIntegration added
integration.updatedCredentials updated
integration.deletedIntegration removed
integration.testedConnection tested

Policy Events

EventDescription
policy.createdPolicy created
policy.updatedPolicy modified
policy.deletedPolicy removed
policy.violationViolation detected

Workflow Events

EventDescription
workflow.createdWorkflow created
workflow.updatedWorkflow modified
workflow.executedWorkflow ran
workflow.completedWorkflow finished
workflow.failedWorkflow failed

Filtering Logs

By Date Range

1Click Date Range filter
2

Select preset:

  • Last 24 hours
  • Last 7 days
  • Last 30 days
  • Last 90 days
  • Custom range
3For custom, select start/end dates

By User

1Click User filter
2Select specific user
3Shows only that user's actions

By Action Category

1Click Category filter
2

Select:

  • All
  • Authentication
  • Users
  • Projects
  • Deployments
  • Integrations
  • Policies
  • Workflows
  • Settings

By Status

1Click Status filter
2

Select:

  • All
  • Success
  • Failed

By Resource

1Click Resource filter
2Enter resource name or ID
3Shows events for that resource

Searching Logs

1Type in Search box
2

Searches across:

  • Action names
  • Resource names
  • User emails
  • Event details
3Real-time filtering

Search Examples

SearchFinds
deployAll deployment events
john@All John's actions
vpc-prodEvents for vpc-prod project
failedFailed events

Exporting Logs

Export Options

1Click Export button
2

Select format:

  • CSV
  • JSON
  • PDF
3Select date range
4Click Download

Export Fields

Exports include:

  • Timestamp
  • User email
  • Action
  • Resource
  • Status
  • IP address
  • Full details

Scheduled Exports

1Click Schedule Export
2Select frequency (Daily, Weekly)
3Select format
4Enter email recipient
5Click Schedule

Log Retention

Retention Period

Free
7 days
Pro
90 days
Enterprise
1 year+

After Retention

  • Logs are automatically deleted
  • Export before expiration for compliance
  • Contact support for extended retention

Real-Time Logs

Live View

1Click Live toggle
2New events appear immediately
3Auto-scrolls to latest

Pause Live View

1Click Pause button
2View freezes
3Click Resume to continue

Security Analysis

Failed Login Detection

Filter for suspicious activity:

1Filter: Category = Authentication
2Filter: Status = Failed
3Review IP addresses and patterns

Permission Changes

Track sensitive changes:

1Filter: Category = Users
2Look for role_changed events
3Review who made changes

Unusual Activity

Signs to Watch For
  • Many failed logins
  • Actions at unusual times
  • Actions from unusual IPs
  • Bulk deletions

Compliance Use Cases

SOC 2

Demonstrate:

  • Access controls (role changes)
  • Change management (deployments)
  • Security events (login attempts)

GDPR

Track:

  • Data access events
  • User data modifications
  • Consent changes

Creating Compliance Reports

1Set date range for audit period
2Export relevant categories
3Include in compliance documentation

API Access

Programmatic Access

Query logs via API:

curl -X GET \
  -H "Authorization: Bearer $API_KEY" \
  "https://api.ops0.io/v1/audit-logs?start=2024-01-01&end=2024-01-31"

API Filters

ParameterDescription
startStart date
endEnd date
userUser email
actionAction type
statussuccess/failed
limitMax results
offsetPagination offset

Best Practices

Review Regularly
Check logs weekly for anomalies and security events.
Set Up Alerts
Configure notifications for critical events like failed logins.
Export for Compliance
Schedule regular exports before retention period expires.
Monitor Failed Events
Failed actions are often the first indicator of security issues.
Track Deployments
Maintain audit trail for change management requirements.
Document Reviews
Record when and what you reviewed for audit evidence.

Troubleshooting

Missing Events

Events not appearing
Check date filter is set to correct range.
Can't find user's events
Verify user email is spelled correctly in filter.
Gaps in timeline
Check retention period - old logs may have been deleted.

Export Issues

Export too large
Reduce date range or filter to specific categories.
Timeout
Try smaller date range or use scheduled exports.
Missing fields
Check export format - JSON includes all fields, CSV is summarized.

Example: Investigating a Failed Deployment

Using audit logs to trace and understand a deployment failure.

Initial Alert

Notification: Deployment Failed
─────────────────────────────────────
Project:    api-infrastructure
Time:       2024-01-15 14:30:45 UTC
User:       sarah@acme.com

Step 1: Filter to Deployment Events

Settings → Audit Logs
─────────────────────────────────────
Filter: Category = Deployments
Filter: Status = Failed
Filter: Date = Today

Results: 1 event found

Step 2: View Event Details

Event Details
─────────────────────────────────────
Event ID:     evt_abc123xyz
Timestamp:    2024-01-15 14:30:45 UTC
User:         sarah@acme.com (usr_456)
Action:       deployment.failed
Resource:     api-infrastructure
IP Address:   192.168.1.50
User Agent:   Chrome/120.0

Changes:
  error: "Policy violation: S3 encryption required"
  resources_planned: 5
  resources_applied: 2

Request:
  deployment_id: dep_789
  trigger: manual
Filter: Resource = api-infrastructure
Filter: Date = Last 24 hours
─────────────────────────────────────
14:30:45  deployment.failed   sarah@acme.com
14:30:42  deployment.started  sarah@acme.com
14:28:10  project.file_updated  sarah@acme.com  (main.tf)
14:25:33  user.login  sarah@acme.com

Step 4: Identify Root Cause

Timeline Analysis
─────────────────────────────────────
14:25  Sarah logged in
14:28  Sarah updated main.tf
14:30  Sarah started deployment
14:30  Deployment failed: policy violation

Root Cause: Code change introduced unencrypted S3 bucket
Fix: Add encryption configuration to S3 resource

Result

Incident Report
─────────────────────────────────────
Issue:       Deployment blocked by policy
Detected:    Immediately via policy check
Impact:      No production impact (blocked)
Root Cause:  Missing S3 encryption config
Resolution:  Add encryption, redeploy
Time to Fix: 15 minutes

The audit log provided complete visibility into what happened and when.


Next Steps