Using SNMP, the script gathers the username, local IP, remote IP, data transferred, VPN protocol, VPN groupname, connect time, and connection duration for every user currently connected to the concentrator. With a few tweaks and a MySQL database, this could easily be used to log every connection to the concentrator to a database -- in fact, I might add that capability if I have time in the next few weeks. The results are sortable, too. I haven't tested the code with more than 20-30 concurrent users, and it may be that my initial snmpwalk-based code is faster with larger installations. If you want to try that code, drop me an e-mail.
Granted, the Cisco 3000-series concentrators have been end-of-lifed, but there are thousands of them in the field, and they won't be going anywhere fast. If you have a 3000-series concentrator, give this code a try, and let me know if you run into any problems -- it's only been tested on a Cisco 3030. To use it, just download it, run gzip -d c3000users.php.gz, and place the c3000users.php file into a Web-accessible directory. Modify the three variables at the top of the script to reflect your installation, and you should be all set. You'll need the php-snmp modules installed, but it should run on just about any OS.